From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tonghao Zhang Subject: [PATCH] memzone: Check socket_id value when creating memzone. Date: Thu, 11 May 2017 23:03:43 -0700 Message-ID: <1494569023-7564-1-git-send-email-nic@opencloud.tech> Cc: Tonghao Zhang To: dev@dpdk.org Return-path: Received: from smtpbgbr2.qq.com (smtpbgbr2.qq.com [54.207.22.56]) by dpdk.org (Postfix) with ESMTP id B8C8E2952 for ; Fri, 12 May 2017 08:04:05 +0200 (CEST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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; } -- 1.8.3.1