efd: fix write unlock during ring creation
authorChaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
Wed, 14 Nov 2018 11:24:06 +0000 (11:24 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Sun, 18 Nov 2018 14:46:02 +0000 (15:46 +0100)
In rte_efd_create() write lock has already been unlocked
before ring creation itself.
So second unlock after the ring creation has been removed.

Fixes: 56b6ef874f80 ("efd: new Elastic Flow Distributor library")
Cc: stable@dpdk.org
Signed-off-by: Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
lib/librte_efd/rte_efd.c

index a780e2f..e6e5cfd 100644 (file)
@@ -692,7 +692,8 @@ rte_efd_create(const char *name, uint32_t max_num_rules, uint32_t key_len,
                        offline_cpu_socket, 0);
        if (r == NULL) {
                RTE_LOG(ERR, EFD, "memory allocation failed\n");
-               goto error_unlock_exit;
+               rte_efd_free(table);
+               return NULL;
        }
 
        /* Populate free slots ring. Entry zero is reserved for key misses. */