[dpdk-dev] [PATCH] eal: fail eal when no hugepages were found

Emmanuel Roullit emmanuel.roullit at gmail.com
Tue Jan 24 21:22:02 CET 2017


Found with clang static analysis:
lib/librte_eal/linuxapp/eal/eal_memory.c:1004:11:
warning: Call to 'malloc' has an allocation size of 0 bytes
tmp_hp = malloc(nr_hugepages * sizeof(struct hugepage_file));
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The --no-huge case, where nr_hugepages would be 0
as well, is handled earlier.

Fixes: 5e823a451261 ("ethdev: remove some VF functions")

Signed-off-by: Emmanuel Roullit <emmanuel.roullit at gmail.com>
---
 lib/librte_eal/linuxapp/eal/eal_memory.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c
index a956bb226..0b0355898 100644
--- a/lib/librte_eal/linuxapp/eal/eal_memory.c
+++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
@@ -995,6 +995,9 @@ rte_eal_hugepage_init(void)
 		nr_hugepages += internal_config.hugepage_info[i].num_pages[0];
 	}
 
+	if (nr_hugepages == 0)
+		goto fail;
+
 	/*
 	 * allocate a memory area for hugepage table.
 	 * this isn't shared memory yet. due to the fact that we need some
-- 
2.11.0



More information about the dev mailing list