[dpdk-dev] [PATCH] memzone: Check socket_id value when creating memzone.
Bruce Richardson
bruce.richardson at intel.com
Fri May 12 10:42:20 CEST 2017
On Thu, May 11, 2017 at 11:03:43PM -0700, Tonghao Zhang wrote:
> If the socket_id is invalid (e.g. -2, -3), the
> memzone_reserve_aligned_thread_unsafe should return the
> EINVAL and not ENOMEM. To avoid it, we should check the
> socket_id before calling malloc_heap_alloc.
>
> Signed-off-by: Tonghao Zhang <nic at opencloud.tech>
> ---
> lib/librte_eal/common/eal_common_memzone.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/lib/librte_eal/common/eal_common_memzone.c b/lib/librte_eal/common/eal_common_memzone.c
> index 64f4e0a..3026e36 100644
> --- a/lib/librte_eal/common/eal_common_memzone.c
> +++ b/lib/librte_eal/common/eal_common_memzone.c
> @@ -189,7 +189,8 @@
> return NULL;
> }
>
> - if ((socket_id != SOCKET_ID_ANY) && (socket_id >= RTE_MAX_NUMA_NODES)) {
> + if ((socket_id != SOCKET_ID_ANY) &&
> + (socket_id >= RTE_MAX_NUMA_NODES || socket_id < 0)) {
> rte_errno = EINVAL;
> return NULL;
> }
> --
Looks a sensible thing to do.
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
More information about the dev
mailing list