From 074717be3ef9e7a8868b5af078b0ca7b61bcc44b Mon Sep 17 00:00:00 2001 From: Yunjian Wang Date: Mon, 10 Jan 2022 17:23:03 +0800 Subject: [PATCH] ring: fix error code when creating ring The error value returned by rte_ring_create_elem() should be positive integers. However, if the rte_ring_get_memsize_elem() function fails, a negative number is returned and is directly used as the return value. As a result, this will cause the external call to check the return value to fail(like called by rte_mempool_create()). Fixes: a182620042aa ("ring: get size in memory") Cc: stable@dpdk.org Reported-by: Nan Zhou Signed-off-by: Yunjian Wang Acked-by: Konstantin Ananyev --- lib/ring/rte_ring.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ring/rte_ring.c b/lib/ring/rte_ring.c index f17bd966be..185f9be798 100644 --- a/lib/ring/rte_ring.c +++ b/lib/ring/rte_ring.c @@ -267,7 +267,7 @@ rte_ring_create_elem(const char *name, unsigned int esize, unsigned int count, ring_size = rte_ring_get_memsize_elem(esize, count); if (ring_size < 0) { - rte_errno = ring_size; + rte_errno = -ring_size; return NULL; } -- 2.39.5