From: Gowrishankar Muthukrishnan Date: Sun, 24 Apr 2022 16:23:26 +0000 (+0530) Subject: net/cnxk: fix out of bounds accesses X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=332cae00ad30cf9fe0c61eaecdb47ab529f8d41f;p=dpdk.git net/cnxk: fix out of bounds accesses Fix out of bounds access in cmd array which was reported in coverity scan. Coverity issue: 375245, 375246, 375260, 375263, 375264, 375271 Coverity issue: 375278, 375279, 375273, 375274, 375275, 375276 Coverity issue: 375280, 375281, 375283, 375286 Fixes: c5b97e98837 ("net/cnxk: add cn10k template Tx functions to build") Fixes: dd8c20eee47 ("net/cnxk: add cn9k template Tx functions to build") Cc: stable@dpdk.org Signed-off-by: Gowrishankar Muthukrishnan Acked-by: Jerin Jacob --- diff --git a/drivers/net/cnxk/cn10k_tx.h b/drivers/net/cnxk/cn10k_tx.h index 5d4003c5d4..85eba90334 100644 --- a/drivers/net/cnxk/cn10k_tx.h +++ b/drivers/net/cnxk/cn10k_tx.h @@ -2728,18 +2728,18 @@ cn10k_nix_xmit_pkts_vector(void *tx_queue, uint64_t *ws, /* [T_SEC_F] [TSP] [TSO] [NOFF] [VLAN] [OL3OL4CSUM] [L3L4CSUM] */ #define NIX_TX_FASTPATH_MODES_0_15 \ - T(no_offload, 4, NIX_TX_OFFLOAD_NONE) \ - T(l3l4csum, 4, L3L4CSUM_F) \ - T(ol3ol4csum, 4, OL3OL4CSUM_F) \ - T(ol3ol4csum_l3l4csum, 4, OL3OL4CSUM_F | L3L4CSUM_F) \ + T(no_offload, 6, NIX_TX_OFFLOAD_NONE) \ + T(l3l4csum, 6, L3L4CSUM_F) \ + T(ol3ol4csum, 6, OL3OL4CSUM_F) \ + T(ol3ol4csum_l3l4csum, 6, OL3OL4CSUM_F | L3L4CSUM_F) \ T(vlan, 6, VLAN_F) \ T(vlan_l3l4csum, 6, VLAN_F | L3L4CSUM_F) \ T(vlan_ol3ol4csum, 6, VLAN_F | OL3OL4CSUM_F) \ T(vlan_ol3ol4csum_l3l4csum, 6, VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F) \ - T(noff, 4, NOFF_F) \ - T(noff_l3l4csum, 4, NOFF_F | L3L4CSUM_F) \ - T(noff_ol3ol4csum, 4, NOFF_F | OL3OL4CSUM_F) \ - T(noff_ol3ol4csum_l3l4csum, 4, NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F) \ + T(noff, 6, NOFF_F) \ + T(noff_l3l4csum, 6, NOFF_F | L3L4CSUM_F) \ + T(noff_ol3ol4csum, 6, NOFF_F | OL3OL4CSUM_F) \ + T(noff_ol3ol4csum_l3l4csum, 6, NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F) \ T(noff_vlan, 6, NOFF_F | VLAN_F) \ T(noff_vlan_l3l4csum, 6, NOFF_F | VLAN_F | L3L4CSUM_F) \ T(noff_vlan_ol3ol4csum, 6, NOFF_F | VLAN_F | OL3OL4CSUM_F) \ @@ -2813,19 +2813,19 @@ cn10k_nix_xmit_pkts_vector(void *tx_queue, uint64_t *ws, TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F) #define NIX_TX_FASTPATH_MODES_64_79 \ - T(sec, 4, T_SEC_F) \ - T(sec_l3l4csum, 4, T_SEC_F | L3L4CSUM_F) \ - T(sec_ol3ol4csum, 4, T_SEC_F | OL3OL4CSUM_F) \ - T(sec_ol3ol4csum_l3l4csum, 4, T_SEC_F | OL3OL4CSUM_F | L3L4CSUM_F) \ + T(sec, 6, T_SEC_F) \ + T(sec_l3l4csum, 6, T_SEC_F | L3L4CSUM_F) \ + T(sec_ol3ol4csum, 6, T_SEC_F | OL3OL4CSUM_F) \ + T(sec_ol3ol4csum_l3l4csum, 6, T_SEC_F | OL3OL4CSUM_F | L3L4CSUM_F) \ T(sec_vlan, 6, T_SEC_F | VLAN_F) \ T(sec_vlan_l3l4csum, 6, T_SEC_F | VLAN_F | L3L4CSUM_F) \ T(sec_vlan_ol3ol4csum, 6, T_SEC_F | VLAN_F | OL3OL4CSUM_F) \ T(sec_vlan_ol3ol4csum_l3l4csum, 6, \ T_SEC_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F) \ - T(sec_noff, 4, T_SEC_F | NOFF_F) \ - T(sec_noff_l3l4csum, 4, T_SEC_F | NOFF_F | L3L4CSUM_F) \ - T(sec_noff_ol3ol4csum, 4, T_SEC_F | NOFF_F | OL3OL4CSUM_F) \ - T(sec_noff_ol3ol4csum_l3l4csum, 4, \ + T(sec_noff, 6, T_SEC_F | NOFF_F) \ + T(sec_noff_l3l4csum, 6, T_SEC_F | NOFF_F | L3L4CSUM_F) \ + T(sec_noff_ol3ol4csum, 6, T_SEC_F | NOFF_F | OL3OL4CSUM_F) \ + T(sec_noff_ol3ol4csum_l3l4csum, 6, \ T_SEC_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F) \ T(sec_noff_vlan, 6, T_SEC_F | NOFF_F | VLAN_F) \ T(sec_noff_vlan_l3l4csum, 6, T_SEC_F | NOFF_F | VLAN_F | L3L4CSUM_F) \ diff --git a/drivers/net/cnxk/cn9k_tx.h b/drivers/net/cnxk/cn9k_tx.h index a0611a67c9..6ce81f5c96 100644 --- a/drivers/net/cnxk/cn9k_tx.h +++ b/drivers/net/cnxk/cn9k_tx.h @@ -1903,18 +1903,18 @@ cn9k_nix_xmit_pkts_vector(void *tx_queue, struct rte_mbuf **tx_pkts, /* [T_SEC_F] [TSP] [TSO] [NOFF] [VLAN] [OL3OL4CSUM] [L3L4CSUM] */ #define NIX_TX_FASTPATH_MODES_0_15 \ - T(no_offload, 4, NIX_TX_OFFLOAD_NONE) \ - T(l3l4csum, 4, L3L4CSUM_F) \ - T(ol3ol4csum, 4, OL3OL4CSUM_F) \ - T(ol3ol4csum_l3l4csum, 4, OL3OL4CSUM_F | L3L4CSUM_F) \ + T(no_offload, 6, NIX_TX_OFFLOAD_NONE) \ + T(l3l4csum, 6, L3L4CSUM_F) \ + T(ol3ol4csum, 6, OL3OL4CSUM_F) \ + T(ol3ol4csum_l3l4csum, 6, OL3OL4CSUM_F | L3L4CSUM_F) \ T(vlan, 6, VLAN_F) \ T(vlan_l3l4csum, 6, VLAN_F | L3L4CSUM_F) \ T(vlan_ol3ol4csum, 6, VLAN_F | OL3OL4CSUM_F) \ T(vlan_ol3ol4csum_l3l4csum, 6, VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F) \ - T(noff, 4, NOFF_F) \ - T(noff_l3l4csum, 4, NOFF_F | L3L4CSUM_F) \ - T(noff_ol3ol4csum, 4, NOFF_F | OL3OL4CSUM_F) \ - T(noff_ol3ol4csum_l3l4csum, 4, NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F) \ + T(noff, 6, NOFF_F) \ + T(noff_l3l4csum, 6, NOFF_F | L3L4CSUM_F) \ + T(noff_ol3ol4csum, 6, NOFF_F | OL3OL4CSUM_F) \ + T(noff_ol3ol4csum_l3l4csum, 6, NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F) \ T(noff_vlan, 6, NOFF_F | VLAN_F) \ T(noff_vlan_l3l4csum, 6, NOFF_F | VLAN_F | L3L4CSUM_F) \ T(noff_vlan_ol3ol4csum, 6, NOFF_F | VLAN_F | OL3OL4CSUM_F) \ @@ -1988,19 +1988,19 @@ cn9k_nix_xmit_pkts_vector(void *tx_queue, struct rte_mbuf **tx_pkts, TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F) #define NIX_TX_FASTPATH_MODES_64_79 \ - T(sec, 4, T_SEC_F) \ - T(sec_l3l4csum, 4, T_SEC_F | L3L4CSUM_F) \ - T(sec_ol3ol4csum, 4, T_SEC_F | OL3OL4CSUM_F) \ - T(sec_ol3ol4csum_l3l4csum, 4, T_SEC_F | OL3OL4CSUM_F | L3L4CSUM_F) \ + T(sec, 6, T_SEC_F) \ + T(sec_l3l4csum, 6, T_SEC_F | L3L4CSUM_F) \ + T(sec_ol3ol4csum, 6, T_SEC_F | OL3OL4CSUM_F) \ + T(sec_ol3ol4csum_l3l4csum, 6, T_SEC_F | OL3OL4CSUM_F | L3L4CSUM_F) \ T(sec_vlan, 6, T_SEC_F | VLAN_F) \ T(sec_vlan_l3l4csum, 6, T_SEC_F | VLAN_F | L3L4CSUM_F) \ T(sec_vlan_ol3ol4csum, 6, T_SEC_F | VLAN_F | OL3OL4CSUM_F) \ T(sec_vlan_ol3ol4csum_l3l4csum, 6, \ T_SEC_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F) \ - T(sec_noff, 4, T_SEC_F | NOFF_F) \ - T(sec_noff_l3l4csum, 4, T_SEC_F | NOFF_F | L3L4CSUM_F) \ - T(sec_noff_ol3ol4csum, 4, T_SEC_F | NOFF_F | OL3OL4CSUM_F) \ - T(sec_noff_ol3ol4csum_l3l4csum, 4, \ + T(sec_noff, 6, T_SEC_F | NOFF_F) \ + T(sec_noff_l3l4csum, 6, T_SEC_F | NOFF_F | L3L4CSUM_F) \ + T(sec_noff_ol3ol4csum, 6, T_SEC_F | NOFF_F | OL3OL4CSUM_F) \ + T(sec_noff_ol3ol4csum_l3l4csum, 6, \ T_SEC_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F) \ T(sec_noff_vlan, 6, T_SEC_F | NOFF_F | VLAN_F) \ T(sec_noff_vlan_l3l4csum, 6, T_SEC_F | NOFF_F | VLAN_F | L3L4CSUM_F) \