net/tap: fix mbuf double free when writev fails
[dpdk.git] / drivers / net / tap / tap_flow.c
index 3ba6945..9d90361 100644 (file)
@@ -537,18 +537,20 @@ tap_flow_create_eth(const struct rte_flow_item *item, void *data)
        if (!flow)
                return 0;
        msg = &flow->msg;
-       if (!is_zero_ether_addr(&mask->dst)) {
-               tap_nlattr_add(&msg->nh, TCA_FLOWER_KEY_ETH_DST, ETHER_ADDR_LEN,
+       if (!rte_is_zero_ether_addr(&mask->dst)) {
+               tap_nlattr_add(&msg->nh, TCA_FLOWER_KEY_ETH_DST,
+                       RTE_ETHER_ADDR_LEN,
                           &spec->dst.addr_bytes);
                tap_nlattr_add(&msg->nh,
-                          TCA_FLOWER_KEY_ETH_DST_MASK, ETHER_ADDR_LEN,
+                          TCA_FLOWER_KEY_ETH_DST_MASK, RTE_ETHER_ADDR_LEN,
                           &mask->dst.addr_bytes);
        }
-       if (!is_zero_ether_addr(&mask->src)) {
-               tap_nlattr_add(&msg->nh, TCA_FLOWER_KEY_ETH_SRC, ETHER_ADDR_LEN,
-                          &spec->src.addr_bytes);
+       if (!rte_is_zero_ether_addr(&mask->src)) {
+               tap_nlattr_add(&msg->nh, TCA_FLOWER_KEY_ETH_SRC,
+                       RTE_ETHER_ADDR_LEN,
+                       &spec->src.addr_bytes);
                tap_nlattr_add(&msg->nh,
-                          TCA_FLOWER_KEY_ETH_SRC_MASK, ETHER_ADDR_LEN,
+                          TCA_FLOWER_KEY_ETH_SRC_MASK, RTE_ETHER_ADDR_LEN,
                           &mask->src.addr_bytes);
        }
        return 0;
@@ -1811,7 +1813,7 @@ tap_flow_implicit_flush(struct pmd_internals *pmd, struct rte_flow_error *error)
 #define KEY_IDX_OFFSET (3 * MAX_RSS_KEYS)
 #define SEC_NAME_CLS_Q "cls_q"
 
-const char *sec_name[SEC_MAX] = {
+static const char *sec_name[SEC_MAX] = {
        [SEC_L3_L4] = "l3_l4",
 };