stack: check flags on creation for future proofing
authorStephen Hemminger <stephen@networkplumber.org>
Mon, 27 Apr 2020 23:16:24 +0000 (16:16 -0700)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 16 Jun 2020 15:46:39 +0000 (17:46 +0200)
All API's should check that they support the flag values
passed. If an application passes an invalid flag it could
cause problems in later ABI.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Gage Eads <gage.eads@intel.com>
lib/librte_stack/rte_stack.c

index d19824f..e58fa54 100644 (file)
@@ -59,6 +59,11 @@ rte_stack_create(const char *name, unsigned int count, int socket_id,
        unsigned int sz;
        int ret;
 
+       if (flags & ~(RTE_STACK_F_LF)) {
+               STACK_LOG_ERR("Unsupported stack flags %#x\n", flags);
+               return NULL;
+       }
+
 #ifdef RTE_ARCH_64
        RTE_BUILD_BUG_ON(sizeof(struct rte_stack_lf_head) != 16);
 #else