From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5CE85A054D; Tue, 7 Jun 2022 18:41:00 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0F82C4021D; Tue, 7 Jun 2022 18:41:00 +0200 (CEST) Received: from mail-qv1-f49.google.com (mail-qv1-f49.google.com [209.85.219.49]) by mails.dpdk.org (Postfix) with ESMTP id E5FEF40156 for ; Tue, 7 Jun 2022 18:40:58 +0200 (CEST) Received: by mail-qv1-f49.google.com with SMTP id i19so12690347qvu.13 for ; Tue, 07 Jun 2022 09:40:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=date:from:to:cc:subject:message-id:mime-version :content-transfer-encoding; bh=eFVFNgsot77MqX0ttE21/ickMrCPj90iZbWtgtLM38U=; b=VbOK3ULDo+uFLkAOIIa4P6pMSvmNSibUxYbPLXnPqpYh93ZvGO5Jdfvm7lWdI7UyJ4 Czz7txNYojjaCfTdQFYlBYvoWZi8vAOBdO9+GIB63hVUTg9NdQe7wTkYSOssKhDH+UUi 83WdcuJpqEDVcaTK9G786VBfIGpbEclEHPAMygNpSqbDcr5M6z0fn4yBO1l/E6jveQS6 6ICG2hiMdZnIgWRGdzk26uqno+rD4cGxI2lpZnW6x7GHvYG9C3sfznpyNHvX5eHTzqay Yw2X0llu3f8b+PnAVfRK+DF0Gn45eHxczPh+nQFdKIWrNEKVGhgrWXlGW2vHWvrwH33A i2Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-transfer-encoding; bh=eFVFNgsot77MqX0ttE21/ickMrCPj90iZbWtgtLM38U=; b=A/jr3uSvVHAfvKUO7Tcq8aKVPw4cmvxyEQnhXgcqXvmN091gv77j9Sj0bE8uORh1V6 TLlwUNbpEjQzHjua/tqUeE/tTfxbrLpzDH/qOTzBjafualrm7S2nTN0S1wH/8ihiJnlq pCDk7Ft8ptDkaWhfyvqX7cg1oZWnRPyv7koCcdeFOYe1iJk6UHO5q99dVoVhkNNqeJWw Aj3KxEWOqWSTPBdirC7A8o7JGAWwRiWlASGHPxbWYudvjYEYO+tr0VQO4Wk4n+B9dbTh 6OcOL0Tcx3PW4cvRuG+3VoTAzPGuJKPW256T6c4dCNwzHP5fExU7NP3tIanwnp8bp75u dMcA== X-Gm-Message-State: AOAM530sS8RbucS9oBAMraWBDHBWdOnIUvX/9+Np3PXP0SZE268DRbfq p4atverHSktnBtFKOEq7syJ1YHfmRhJwjg== X-Google-Smtp-Source: ABdhPJyZFGClPtGC8uOmwm+21z7A/SCSGgz+ZfU2cGpbvPssx2EZOcmEl1xcCHVrbj289h83ElcsBg== X-Received: by 2002:a05:6a00:179e:b0:518:9e1d:1cbd with SMTP id s30-20020a056a00179e00b005189e1d1cbdmr78568529pfg.12.1654620047560; Tue, 07 Jun 2022 09:40:47 -0700 (PDT) Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199]) by smtp.gmail.com with ESMTPSA id m1-20020a17090a34c100b001e31c510f10sm14747011pjf.54.2022.06.07.09.40.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jun 2022 09:40:47 -0700 (PDT) Date: Tue, 7 Jun 2022 09:40:44 -0700 From: Stephen Hemminger To: roy.fan.zhang@intel.com, pablo.de.lara.guarch@intel.com Cc: dev@dpdk.org Subject: [BUG] out of bounds reference in crypto snow3g driver. Message-ID: <20220607094044.63d534c2@hermes.local> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Gcc-12 finds a bug in crypto_ipsec_mb_pmd_snow3g. The code here is trying to be clever and put the crypto operations into a r= ing. But if there are multiple operations in will dereference outside of the val= id ops. The offending line is here: enqueued_op =3D rte_ring_enqueue_burst(qp->ingress_queue, (void **)&op, processed_op, NULL); And processed_op can be greater than one, causing potential out of bounds r= eference. Since I don't have the hardware, and the code is trying to be too clever he= re. Fixing it is left to maintainers. Full output is: [2496/3606] Compiling C object drivers/libtmp_rte_crypto_ipsec_mb.a.p/crypt= o_ipsec_mb_pmd_snow3g.c.o In file included from ../lib/ring/rte_ring_elem.h:24, from ../lib/ring/rte_ring.h:43, from ../lib/mempool/rte_mempool.h:45, from ../lib/mbuf/rte_mbuf.h:38, from ../lib/cryptodev/rte_crypto.h:20, from ../lib/cryptodev/cryptodev_pmd.h:26, from ../drivers/crypto/ipsec_mb/ipsec_mb_private.h:9, from ../drivers/crypto/ipsec_mb/pmd_snow3g_priv.h:8, from ../drivers/crypto/ipsec_mb/pmd_snow3g.c:5: In function =E2=80=98__rte_ring_enqueue_elems_64=E2=80=99, inlined from =E2=80=98__rte_ring_enqueue_elems=E2=80=99 at ../lib/ring/= rte_ring_elem_pvt.h:130:3, inlined from =E2=80=98__rte_ring_do_hts_enqueue_elem=E2=80=99 at ../lib= /ring/rte_ring_hts_elem_pvt.h:196:3, inlined from =E2=80=98rte_ring_mp_hts_enqueue_burst_elem=E2=80=99 at ..= /lib/ring/rte_ring_hts.h:110:9, inlined from =E2=80=98rte_ring_enqueue_burst_elem=E2=80=99 at ../lib/ri= ng/rte_ring_elem.h:577:10, inlined from =E2=80=98rte_ring_enqueue_burst=E2=80=99 at ../lib/ring/rt= e_ring.h:738:9, inlined from =E2=80=98process_op_bit=E2=80=99 at ../drivers/crypto/ipse= c_mb/pmd_snow3g.c:425:16, inlined from =E2=80=98snow3g_pmd_dequeue_burst=E2=80=99 at ../drivers/c= rypto/ipsec_mb/pmd_snow3g.c:484:20: ../lib/ring/rte_ring_elem_pvt.h:68:44: warning: array subscript 1 is outsid= e array bounds of =E2=80=98struct rte_crypto_op[0]=E2=80=99 [-Warray-bounds] 68 | ring[idx + 1] =3D obj[i + 1]; | ~~~^~~~~~~ ../drivers/crypto/ipsec_mb/pmd_snow3g.c: In function =E2=80=98snow3g_pmd_de= queue_burst=E2=80=99: ../drivers/crypto/ipsec_mb/pmd_snow3g.c:434:1: note: at offset 8 into objec= t =E2=80=98op=E2=80=99 of size 8 434 | snow3g_pmd_dequeue_burst(void *queue_pair, | ^~~~~~~~~~~~~~~~~~~~~~~~ In function =E2=80=98__rte_ring_enqueue_elems_64=E2=80=99, inlined from =E2=80=98__rte_ring_enqueue_elems=E2=80=99 at ../lib/ring/= rte_ring_elem_pvt.h:130:3, inlined from =E2=80=98__rte_ring_do_hts_enqueue_elem=E2=80=99 at ../lib= /ring/rte_ring_hts_elem_pvt.h:196:3, inlined from =E2=80=98rte_ring_mp_hts_enqueue_burst_elem=E2=80=99 at ..= /lib/ring/rte_ring_hts.h:110:9, inlined from =E2=80=98rte_ring_enqueue_burst_elem=E2=80=99 at ../lib/ri= ng/rte_ring_elem.h:577:10, inlined from =E2=80=98rte_ring_enqueue_burst=E2=80=99 at ../lib/ring/rt= e_ring.h:738:9, inlined from =E2=80=98process_op_bit=E2=80=99 at ../drivers/crypto/ipse= c_mb/pmd_snow3g.c:425:16, inlined from =E2=80=98snow3g_pmd_dequeue_burst=E2=80=99 at ../drivers/c= rypto/ipsec_mb/pmd_snow3g.c:484:20: ../lib/ring/rte_ring_elem_pvt.h:69:44: warning: array subscript [2, 4294967= 293] is outside array bounds of =E2=80=98struct rte_crypto_op[0]=E2=80=99 [= -Warray-bounds] 69 | ring[idx + 2] =3D obj[i + 2]; | ~~~^~~~~~~ ../drivers/crypto/ipsec_mb/pmd_snow3g.c: In function =E2=80=98snow3g_pmd_de= queue_burst=E2=80=99: ../drivers/crypto/ipsec_mb/pmd_snow3g.c:434:1: note: at offset [16, 3435973= 8344] into object =E2=80=98op=E2=80=99 of size 8 434 | snow3g_pmd_dequeue_burst(void *queue_pair, | ^~~~~~~~~~~~~~~~~~~~~~~~ In function =E2=80=98__rte_ring_enqueue_elems_64=E2=80=99, inlined from =E2=80=98__rte_ring_enqueue_elems=E2=80=99 at ../lib/ring/= rte_ring_elem_pvt.h:130:3, inlined from =E2=80=98__rte_ring_do_hts_enqueue_elem=E2=80=99 at ../lib= /ring/rte_ring_hts_elem_pvt.h:196:3, inlined from =E2=80=98rte_ring_mp_hts_enqueue_burst_elem=E2=80=99 at ..= /lib/ring/rte_ring_hts.h:110:9, inlined from =E2=80=98rte_ring_enqueue_burst_elem=E2=80=99 at ../lib/ri= ng/rte_ring_elem.h:577:10, inlined from =E2=80=98rte_ring_enqueue_burst=E2=80=99 at ../lib/ring/rt= e_ring.h:738:9, inlined from =E2=80=98process_op_bit=E2=80=99 at ../drivers/crypto/ipse= c_mb/pmd_snow3g.c:425:16, inlined from =E2=80=98snow3g_pmd_dequeue_burst=E2=80=99 at ../drivers/c= rypto/ipsec_mb/pmd_snow3g.c:484:20: ../lib/ring/rte_ring_elem_pvt.h:70:44: warning: array subscript [3, 4294967= 294] is outside array bounds of =E2=80=98struct rte_crypto_op[0]=E2=80=99 [= -Warray-bounds] 70 | ring[idx + 3] =3D obj[i + 3]; | ~~~^~~~~~~ ../drivers/crypto/ipsec_mb/pmd_snow3g.c: In function =E2=80=98snow3g_pmd_de= queue_burst=E2=80=99: ../drivers/crypto/ipsec_mb/pmd_snow3g.c:434:1: note: at offset [24, 3435973= 8352] into object =E2=80=98op=E2=80=99 of size 8 434 | snow3g_pmd_dequeue_burst(void *queue_pair, | ^~~~~~~~~~~~~~~~~~~~~~~~ In function =E2=80=98__rte_ring_enqueue_elems_64=E2=80=99, inlined from =E2=80=98__rte_ring_enqueue_elems=E2=80=99 at ../lib/ring/= rte_ring_elem_pvt.h:130:3, inlined from =E2=80=98__rte_ring_do_rts_enqueue_elem=E2=80=99 at ../lib= /ring/rte_ring_rts_elem_pvt.h:211:3, inlined from =E2=80=98rte_ring_mp_rts_enqueue_burst_elem=E2=80=99 at ..= /lib/ring/rte_ring_rts.h:137:9, inlined from =E2=80=98rte_ring_enqueue_burst_elem=E2=80=99 at ../lib/ri= ng/rte_ring_elem.h:574:10, inlined from =E2=80=98rte_ring_enqueue_burst=E2=80=99 at ../lib/ring/rt= e_ring.h:738:9, inlined from =E2=80=98process_op_bit=E2=80=99 at ../drivers/crypto/ipse= c_mb/pmd_snow3g.c:425:16, inlined from =E2=80=98snow3g_pmd_dequeue_burst=E2=80=99 at ../drivers/c= rypto/ipsec_mb/pmd_snow3g.c:484:20: ../lib/ring/rte_ring_elem_pvt.h:68:44: warning: array subscript 1 is outsid= e array bounds of =E2=80=98struct rte_crypto_op[0]=E2=80=99 [-Warray-bounds] 68 | ring[idx + 1] =3D obj[i + 1]; | ~~~^~~~~~~ ../drivers/crypto/ipsec_mb/pmd_snow3g.c: In function =E2=80=98snow3g_pmd_de= queue_burst=E2=80=99: ../drivers/crypto/ipsec_mb/pmd_snow3g.c:434:1: note: at offset 8 into objec= t =E2=80=98op=E2=80=99 of size 8 434 | snow3g_pmd_dequeue_burst(void *queue_pair, | ^~~~~~~~~~~~~~~~~~~~~~~~ In function =E2=80=98__rte_ring_enqueue_elems_64=E2=80=99, inlined from =E2=80=98__rte_ring_enqueue_elems=E2=80=99 at ../lib/ring/= rte_ring_elem_pvt.h:130:3, inlined from =E2=80=98__rte_ring_do_rts_enqueue_elem=E2=80=99 at ../lib= /ring/rte_ring_rts_elem_pvt.h:211:3, inlined from =E2=80=98rte_ring_mp_rts_enqueue_burst_elem=E2=80=99 at ..= /lib/ring/rte_ring_rts.h:137:9, inlined from =E2=80=98rte_ring_enqueue_burst_elem=E2=80=99 at ../lib/ri= ng/rte_ring_elem.h:574:10, inlined from =E2=80=98rte_ring_enqueue_burst=E2=80=99 at ../lib/ring/rt= e_ring.h:738:9, inlined from =E2=80=98process_op_bit=E2=80=99 at ../drivers/crypto/ipse= c_mb/pmd_snow3g.c:425:16, inlined from =E2=80=98snow3g_pmd_dequeue_burst=E2=80=99 at ../drivers/c= rypto/ipsec_mb/pmd_snow3g.c:484:20: ../lib/ring/rte_ring_elem_pvt.h:69:44: warning: array subscript [2, 4294967= 293] is outside array bounds of =E2=80=98struct rte_crypto_op[0]=E2=80=99 [= -Warray-bounds] 69 | ring[idx + 2] =3D obj[i + 2]; | ~~~^~~~~~~ ../drivers/crypto/ipsec_mb/pmd_snow3g.c: In function =E2=80=98snow3g_pmd_de= queue_burst=E2=80=99: ../drivers/crypto/ipsec_mb/pmd_snow3g.c:434:1: note: at offset [16, 3435973= 8344] into object =E2=80=98op=E2=80=99 of size 8 434 | snow3g_pmd_dequeue_burst(void *queue_pair, | ^~~~~~~~~~~~~~~~~~~~~~~~ In function =E2=80=98__rte_ring_enqueue_elems_64=E2=80=99, inlined from =E2=80=98__rte_ring_enqueue_elems=E2=80=99 at ../lib/ring/= rte_ring_elem_pvt.h:130:3, inlined from =E2=80=98__rte_ring_do_rts_enqueue_elem=E2=80=99 at ../lib= /ring/rte_ring_rts_elem_pvt.h:211:3, inlined from =E2=80=98rte_ring_mp_rts_enqueue_burst_elem=E2=80=99 at ..= /lib/ring/rte_ring_rts.h:137:9, inlined from =E2=80=98rte_ring_enqueue_burst_elem=E2=80=99 at ../lib/ri= ng/rte_ring_elem.h:574:10, inlined from =E2=80=98rte_ring_enqueue_burst=E2=80=99 at ../lib/ring/rt= e_ring.h:738:9, inlined from =E2=80=98process_op_bit=E2=80=99 at ../drivers/crypto/ipse= c_mb/pmd_snow3g.c:425:16, inlined from =E2=80=98snow3g_pmd_dequeue_burst=E2=80=99 at ../drivers/c= rypto/ipsec_mb/pmd_snow3g.c:484:20: ../lib/ring/rte_ring_elem_pvt.h:70:44: warning: array subscript [3, 4294967= 294] is outside array bounds of =E2=80=98struct rte_crypto_op[0]=E2=80=99 [= -Warray-bounds] 70 | ring[idx + 3] =3D obj[i + 3]; | ~~~^~~~~~~ ../drivers/crypto/ipsec_mb/pmd_snow3g.c: In function =E2=80=98snow3g_pmd_de= queue_burst=E2=80=99: ../drivers/crypto/ipsec_mb/pmd_snow3g.c:434:1: note: at offset [24, 3435973= 8352] into object =E2=80=98op=E2=80=99 of size 8 434 | snow3g_pmd_dequeue_burst(void *queue_pair, | ^~~~~~~~~~~~~~~~~~~~~~~~ In function =E2=80=98__rte_ring_enqueue_elems_64=E2=80=99, inlined from =E2=80=98__rte_ring_enqueue_elems=E2=80=99 at ../lib/ring/= rte_ring_elem_pvt.h:130:3, inlined from =E2=80=98__rte_ring_do_enqueue_elem=E2=80=99 at ../lib/rin= g/rte_ring_elem_pvt.h:328:2, inlined from =E2=80=98rte_ring_sp_enqueue_burst_elem=E2=80=99 at ../lib= /ring/rte_ring_elem.h:535:9, inlined from =E2=80=98rte_ring_enqueue_burst_elem=E2=80=99 at ../lib/ri= ng/rte_ring_elem.h:571:10, inlined from =E2=80=98rte_ring_enqueue_burst=E2=80=99 at ../lib/ring/rt= e_ring.h:738:9, inlined from =E2=80=98process_op_bit=E2=80=99 at ../drivers/crypto/ipse= c_mb/pmd_snow3g.c:425:16, inlined from =E2=80=98snow3g_pmd_dequeue_burst=E2=80=99 at ../drivers/c= rypto/ipsec_mb/pmd_snow3g.c:484:20: ../lib/ring/rte_ring_elem_pvt.h:68:44: warning: array subscript 1 is outsid= e array bounds of =E2=80=98struct rte_crypto_op[0]=E2=80=99 [-Warray-bounds] 68 | ring[idx + 1] =3D obj[i + 1]; | ~~~^~~~~~~ ../drivers/crypto/ipsec_mb/pmd_snow3g.c: In function =E2=80=98snow3g_pmd_de= queue_burst=E2=80=99: ../drivers/crypto/ipsec_mb/pmd_snow3g.c:434:1: note: at offset 8 into objec= t =E2=80=98op=E2=80=99 of size 8 434 | snow3g_pmd_dequeue_burst(void *queue_pair, | ^~~~~~~~~~~~~~~~~~~~~~~~ In function =E2=80=98__rte_ring_enqueue_elems_64=E2=80=99, inlined from =E2=80=98__rte_ring_enqueue_elems=E2=80=99 at ../lib/ring/= rte_ring_elem_pvt.h:130:3, inlined from =E2=80=98__rte_ring_do_enqueue_elem=E2=80=99 at ../lib/rin= g/rte_ring_elem_pvt.h:328:2, inlined from =E2=80=98rte_ring_sp_enqueue_burst_elem=E2=80=99 at ../lib= /ring/rte_ring_elem.h:535:9, inlined from =E2=80=98rte_ring_enqueue_burst_elem=E2=80=99 at ../lib/ri= ng/rte_ring_elem.h:571:10, inlined from =E2=80=98rte_ring_enqueue_burst=E2=80=99 at ../lib/ring/rt= e_ring.h:738:9, inlined from =E2=80=98process_op_bit=E2=80=99 at ../drivers/crypto/ipse= c_mb/pmd_snow3g.c:425:16, inlined from =E2=80=98snow3g_pmd_dequeue_burst=E2=80=99 at ../drivers/c= rypto/ipsec_mb/pmd_snow3g.c:484:20: ../lib/ring/rte_ring_elem_pvt.h:69:44: warning: array subscript [2, 4294967= 293] is outside array bounds of =E2=80=98struct rte_crypto_op[0]=E2=80=99 [= -Warray-bounds] 69 | ring[idx + 2] =3D obj[i + 2]; | ~~~^~~~~~~ ../drivers/crypto/ipsec_mb/pmd_snow3g.c: In function =E2=80=98snow3g_pmd_de= queue_burst=E2=80=99: ../drivers/crypto/ipsec_mb/pmd_snow3g.c:434:1: note: at offset [16, 3435973= 8344] into object =E2=80=98op=E2=80=99 of size 8 434 | snow3g_pmd_dequeue_burst(void *queue_pair, | ^~~~~~~~~~~~~~~~~~~~~~~~ In function =E2=80=98__rte_ring_enqueue_elems_64=E2=80=99, inlined from =E2=80=98__rte_ring_enqueue_elems=E2=80=99 at ../lib/ring/= rte_ring_elem_pvt.h:130:3, inlined from =E2=80=98__rte_ring_do_enqueue_elem=E2=80=99 at ../lib/rin= g/rte_ring_elem_pvt.h:328:2, inlined from =E2=80=98rte_ring_sp_enqueue_burst_elem=E2=80=99 at ../lib= /ring/rte_ring_elem.h:535:9, inlined from =E2=80=98rte_ring_enqueue_burst_elem=E2=80=99 at ../lib/ri= ng/rte_ring_elem.h:571:10, inlined from =E2=80=98rte_ring_enqueue_burst=E2=80=99 at ../lib/ring/rt= e_ring.h:738:9, inlined from =E2=80=98process_op_bit=E2=80=99 at ../drivers/crypto/ipse= c_mb/pmd_snow3g.c:425:16, inlined from =E2=80=98snow3g_pmd_dequeue_burst=E2=80=99 at ../drivers/c= rypto/ipsec_mb/pmd_snow3g.c:484:20: ../lib/ring/rte_ring_elem_pvt.h:70:44: warning: array subscript [3, 4294967= 294] is outside array bounds of =E2=80=98struct rte_crypto_op[0]=E2=80=99 [= -Warray-bounds] 70 | ring[idx + 3] =3D obj[i + 3]; | ~~~^~~~~~~ ../drivers/crypto/ipsec_mb/pmd_snow3g.c: In function =E2=80=98snow3g_pmd_de= queue_burst=E2=80=99: ../drivers/crypto/ipsec_mb/pmd_snow3g.c:434:1: note: at offset [24, 3435973= 8352] into object =E2=80=98op=E2=80=99 of size 8 434 | snow3g_pmd_dequeue_burst(void *queue_pair, | ^~~~~~~~~~~~~~~~~~~~~~~~ In function =E2=80=98__rte_ring_enqueue_elems_64=E2=80=99, inlined from =E2=80=98__rte_ring_enqueue_elems=E2=80=99 at ../lib/ring/= rte_ring_elem_pvt.h:130:3, inlined from =E2=80=98__rte_ring_do_enqueue_elem=E2=80=99 at ../lib/rin= g/rte_ring_elem_pvt.h:328:2, inlined from =E2=80=98rte_ring_mp_enqueue_burst_elem=E2=80=99 at ../lib= /ring/rte_ring_elem.h:506:9, inlined from =E2=80=98rte_ring_enqueue_burst_elem=E2=80=99 at ../lib/ri= ng/rte_ring_elem.h:568:10, inlined from =E2=80=98rte_ring_enqueue_burst=E2=80=99 at ../lib/ring/rt= e_ring.h:738:9, inlined from =E2=80=98process_op_bit=E2=80=99 at ../drivers/crypto/ipse= c_mb/pmd_snow3g.c:425:16, inlined from =E2=80=98snow3g_pmd_dequeue_burst=E2=80=99 at ../drivers/c= rypto/ipsec_mb/pmd_snow3g.c:484:20: ../lib/ring/rte_ring_elem_pvt.h:68:44: warning: array subscript 1 is outsid= e array bounds of =E2=80=98struct rte_crypto_op[0]=E2=80=99 [-Warray-bounds] 68 | ring[idx + 1] =3D obj[i + 1]; | ~~~^~~~~~~ ../drivers/crypto/ipsec_mb/pmd_snow3g.c: In function =E2=80=98snow3g_pmd_de= queue_burst=E2=80=99: ../drivers/crypto/ipsec_mb/pmd_snow3g.c:434:1: note: at offset 8 into objec= t =E2=80=98op=E2=80=99 of size 8 434 | snow3g_pmd_dequeue_burst(void *queue_pair, | ^~~~~~~~~~~~~~~~~~~~~~~~ In function =E2=80=98__rte_ring_enqueue_elems_64=E2=80=99, inlined from =E2=80=98__rte_ring_enqueue_elems=E2=80=99 at ../lib/ring/= rte_ring_elem_pvt.h:130:3, inlined from =E2=80=98__rte_ring_do_enqueue_elem=E2=80=99 at ../lib/rin= g/rte_ring_elem_pvt.h:328:2, inlined from =E2=80=98rte_ring_mp_enqueue_burst_elem=E2=80=99 at ../lib= /ring/rte_ring_elem.h:506:9, inlined from =E2=80=98rte_ring_enqueue_burst_elem=E2=80=99 at ../lib/ri= ng/rte_ring_elem.h:568:10, inlined from =E2=80=98rte_ring_enqueue_burst=E2=80=99 at ../lib/ring/rt= e_ring.h:738:9, inlined from =E2=80=98process_op_bit=E2=80=99 at ../drivers/crypto/ipse= c_mb/pmd_snow3g.c:425:16, inlined from =E2=80=98snow3g_pmd_dequeue_burst=E2=80=99 at ../drivers/c= rypto/ipsec_mb/pmd_snow3g.c:484:20: ../lib/ring/rte_ring_elem_pvt.h:69:44: warning: array subscript [2, 4294967= 293] is outside array bounds of =E2=80=98struct rte_crypto_op[0]=E2=80=99 [= -Warray-bounds] 69 | ring[idx + 2] =3D obj[i + 2]; | ~~~^~~~~~~ ../drivers/crypto/ipsec_mb/pmd_snow3g.c: In function =E2=80=98snow3g_pmd_de= queue_burst=E2=80=99: ../drivers/crypto/ipsec_mb/pmd_snow3g.c:434:1: note: at offset [16, 3435973= 8344] into object =E2=80=98op=E2=80=99 of size 8 434 | snow3g_pmd_dequeue_burst(void *queue_pair, | ^~~~~~~~~~~~~~~~~~~~~~~~ In function =E2=80=98__rte_ring_enqueue_elems_64=E2=80=99, inlined from =E2=80=98__rte_ring_enqueue_elems=E2=80=99 at ../lib/ring/= rte_ring_elem_pvt.h:130:3, inlined from =E2=80=98__rte_ring_do_enqueue_elem=E2=80=99 at ../lib/rin= g/rte_ring_elem_pvt.h:328:2, inlined from =E2=80=98rte_ring_mp_enqueue_burst_elem=E2=80=99 at ../lib= /ring/rte_ring_elem.h:506:9, inlined from =E2=80=98rte_ring_enqueue_burst_elem=E2=80=99 at ../lib/ri= ng/rte_ring_elem.h:568:10, inlined from =E2=80=98rte_ring_enqueue_burst=E2=80=99 at ../lib/ring/rt= e_ring.h:738:9, inlined from =E2=80=98process_op_bit=E2=80=99 at ../drivers/crypto/ipse= c_mb/pmd_snow3g.c:425:16, inlined from =E2=80=98snow3g_pmd_dequeue_burst=E2=80=99 at ../drivers/c= rypto/ipsec_mb/pmd_snow3g.c:484:20: ../lib/ring/rte_ring_elem_pvt.h:70:44: warning: array subscript [3, 4294967= 294] is outside array bounds of =E2=80=98struct rte_crypto_op[0]=E2=80=99 [= -Warray-bounds] 70 | ring[idx + 3] =3D obj[i + 3]; | ~~~^~~~~~~ ../drivers/crypto/ipsec_mb/pmd_snow3g.c: In function =E2=80=98snow3g_pmd_de= queue_burst=E2=80=99: ../drivers/crypto/ipsec_mb/pmd_snow3g.c:434:1: note: at offset [24, 3435973= 8352] into object =E2=80=98op=E2=80=99 of size 8 434 | snow3g_pmd_dequeue_burst(void *queue_pair, | ^~~~~~~~~~~~~~~~~~~~~~~~