]> git.droids-corp.org - dpdk.git/commitdiff
net/cnxk: fix out of bounds accesses
authorGowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
Sun, 24 Apr 2022 16:23:26 +0000 (21:53 +0530)
committerJerin Jacob <jerinj@marvell.com>
Thu, 5 May 2022 08:10:17 +0000 (10:10 +0200)
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 <gmuthukrishn@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
drivers/net/cnxk/cn10k_tx.h
drivers/net/cnxk/cn9k_tx.h

index 5d4003c5d446145dc763f2a333613d9482c0bafb..85eba9033478b30d43f42fe304966ff8bc55ab2f 100644 (file)
@@ -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)   \
index a0611a67c9787db72beda01876275104b88c76ea..6ce81f5c96d856b69cd6bce39fb9b818a0121875 100644 (file)
@@ -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)   \