Message ID | 6d7c9da7eb47cb236710a870d91219f1c3ca4684.1641785123.git.wangyunjian@huawei.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | David Marchand |
Headers | show |
Series | ring: fix error return value when creating ring | expand |
Context | Check | Description |
---|---|---|
ci/iol-aarch64-compile-testing | success | Testing PASS |
ci/iol-aarch64-unit-testing | success | Testing PASS |
ci/iol-x86_64-unit-testing | success | Testing PASS |
ci/iol-x86_64-compile-testing | success | Testing PASS |
ci/iol-abi-testing | warning | Testing issues |
ci/intel-Testing | success | Testing PASS |
ci/Intel-compilation | success | Compilation OK |
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/iol-broadcom-Functional | success | Functional Testing PASS |
ci/iol-intel-Functional | success | Functional Testing PASS |
ci/github-robot: build | success | github build: passed |
ci/iol-mellanox-Performance | success | Performance Testing PASS |
ci/iol-broadcom-Performance | success | Performance Testing PASS |
ci/checkpatch | success | coding style OK |
> 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 <zhounan14@huawei.com> > Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> > --- > 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; > } > > -- Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> > 2.27.0
On Mon, Jan 10, 2022 at 3:15 PM Ananyev, Konstantin <konstantin.ananyev@intel.com> wrote: > > > 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 <zhounan14@huawei.com> > > Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> > Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Applied, thanks.
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; }
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 <zhounan14@huawei.com> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> --- lib/ring/rte_ring.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)