From patchwork Mon Apr 27 23:16:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69409 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 01112A00BE; Tue, 28 Apr 2020 01:16:44 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 654391D527; Tue, 28 Apr 2020 01:16:39 +0200 (CEST) Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by dpdk.org (Postfix) with ESMTP id 2FC281D51A for ; Tue, 28 Apr 2020 01:16:36 +0200 (CEST) Received: by mail-pl1-f196.google.com with SMTP id g2so7585700plo.3 for ; Mon, 27 Apr 2020 16:16:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aRKIl+ro7nwT7kyHYfHg+NdaLflA7tj3bCqL8gSTEls=; b=LzpS9MRfSIuRmDjCUWZCC5rNQos3WpgmSTNkGKiDMwmZVcMXYFZm24jTTH91IYETWG AhYFXD32e2TYezDCUqHCxF9Q8/y3tWns0/AVb5Epl/Z4eFJv9C92oYIK3YEm/Xu1gEMd 382u7FeqA2y23Glid2fPE7EXZkIHLLIG9SwMoWLX5cmaibJK/R8y3K68iLjSYQSbK6B2 Eiq2peMzIu1vqJy+V09pPOL27JyP5OqaGVSgWaiFBb5u1DoEnn1dzwljCzlTZoNoW2pq RmQNPvONQGlFxJRPfeh6EQ4QBbPmCO8oEqdnju9GFOgg27Ry3migmE4/kWUfuAIyRKcw EBAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aRKIl+ro7nwT7kyHYfHg+NdaLflA7tj3bCqL8gSTEls=; b=hyWHGbdO34Ed+EINK4jVLo9vR+mL+VDAH/dt4ho40h993ICwPSmWuwNGbgYe37xG54 odwmjCGaoObpEjGHW5qcA08t3Z8oOP7T89XrqUVvcjAjRS4/zdo0MK9n4hHYEtPcP2l1 ALALZ0trBHpyASEYBAsiDz8FaTctrL3s1UE34VMU2n253f9yfcRioOfz7OPap8pP+S8T a1r7IzxyzhNaOa5AVtrbg8mR+kwNYGHpPOdItf7dflHPmN03wQeo+x+yuKLPS9o2DcNN RvsCYRH8NbodSV50axX8Xzn7wKQwHxrhvcqi8SGJ/CG+/e2w5Uj/mGOGFlnpZCbyhFHU 72FA== X-Gm-Message-State: AGi0PuYRQYOy/paO5Vhm2ipy0lx3XGqzPZMbKf7UvJCOwsM3Acnug9+o ntKWhIV1071rqH7ZVRy/F0mH5HnmiRg= X-Google-Smtp-Source: APiQypLA2IiV2KeVq6sK30zRNUeR1BX7Lt1F1vB5QAjQxGvrVwnt7/ddQZj8MOMjDsc9TrdHIXFmFw== X-Received: by 2002:a17:90a:2ac7:: with SMTP id i7mr1334928pjg.130.1588029394764; Mon, 27 Apr 2020 16:16:34 -0700 (PDT) Received: from hermes.corp.microsoft.com (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id kb10sm353104pjb.6.2020.04.27.16.16.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2020 16:16:33 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Honnappa Nagarahalli , Konstantin Ananyev Date: Mon, 27 Apr 2020 16:16:22 -0700 Message-Id: <20200427231625.10135-2-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200427231625.10135-1-stephen@networkplumber.org> References: <20200212230810.2837-1-stephen@networkplumber.org> <20200427231625.10135-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 1/4] ring: future proof flag settings X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" All API's should check that they support the flag values passed. These checks ensure that the extra bits can safely be used without risk of ABI breakage. Signed-off-by: Stephen Hemminger Reviewed-by: Honnappa Nagarahalli --- lib/librte_ring/rte_ring.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/librte_ring/rte_ring.c b/lib/librte_ring/rte_ring.c index ebe5ccf0de68..e16dd45a82de 100644 --- a/lib/librte_ring/rte_ring.c +++ b/lib/librte_ring/rte_ring.c @@ -42,6 +42,11 @@ static struct rte_tailq_elem rte_ring_tailq = { }; EAL_REGISTER_TAILQ(rte_ring_tailq) +/* mask of all valid flag values to ring_create() */ +#define RING_F_MASK (RING_F_SP_ENQ | RING_F_SC_DEQ | RING_F_EXACT_SZ | \ + RING_F_MP_RTS_ENQ | RING_F_MC_RTS_DEQ | \ + RING_F_MP_HTS_ENQ | RING_F_MC_HTS_DEQ ) + /* true if x is a power of 2 */ #define POWEROF2(x) ((((x)-1) & (x)) == 0) @@ -197,6 +202,13 @@ rte_ring_init(struct rte_ring *r, const char *name, unsigned count, RTE_BUILD_BUG_ON(offsetof(struct rte_ring_headtail, tail) != offsetof(struct rte_ring_rts_headtail, tail.val.pos)); + /* future proof flags, only allow supported values */ + if (flags & ~RING_F_MASK) { + RTE_LOG(ERR, RING, + "Unsupported flags requested %#x\n", flags); + return -EINVAL; + } + /* init the ring structure */ memset(r, 0, sizeof(*r)); ret = strlcpy(r->name, name, sizeof(r->name)); From patchwork Mon Apr 27 23:16:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69410 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 46F25A00BE; Tue, 28 Apr 2020 01:16:52 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F21461D536; Tue, 28 Apr 2020 01:16:40 +0200 (CEST) Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) by dpdk.org (Postfix) with ESMTP id C89BC1D525 for ; Tue, 28 Apr 2020 01:16:37 +0200 (CEST) Received: by mail-pl1-f194.google.com with SMTP id f8so7587352plt.2 for ; Mon, 27 Apr 2020 16:16:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6oDEUl/PDWsgmpzz1xVVLsltS+mvEAJqg27so1VHvD8=; b=SnhxiBJCMhpTUudtjH+DYuWGhK8eHRbqwzbLD5O5vay4Ve8dpH//jxFAc7gRNI+EGt 0PGG3NJOqM/yhSlrj+yISRKARNg91ExSiRhKd2MNG/EmfYCucjiNova013l2AHouXfhA gOr+55uZxVJ8N4Tlt/1DyEDBEprRXXITMrzlMGhyPzfF91qQy7D6FI+BZqIbSzEs9w/O OKUSz9tBTrN8gOdbUPIBBaegThktrsx0bxTbB1V02Hu4FQ4tdKehjuvlwYKVvc0Tyx2+ lliaa3fJAwDXhE7bkFZLRuhkh+O/393b+qMj6k08GVL6jTpE4qLYQDaMDbCGbuVwk4jh yq/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6oDEUl/PDWsgmpzz1xVVLsltS+mvEAJqg27so1VHvD8=; b=ZJBhInCPuDsAsS3/HFpOwtDYWnrEeiLvKpK8RJV2o1ejdelbrP5BqjDjphhU2MLGgo ApTlvatSqsRkVgTdY6nznGzCgzg79iEnIc5ikxKMm/QZqQN2ZNXDj1t4wSNvwV/dWF/h 8Vb6M/g7D/rHD8IkdeJxgX7IG2kKeVArJRU3IVgb6CrxqZPsN8rqdk68NrqjGWP6FFyE /DJhjy1tO1rn3m9k9pxG/OfOwp3+N6cFcBSH7z+T/6mtsU1G1K03LrFKzF5tmvjH4zl6 EdfM3ByzG6+0bFEHpBrLrlawYhbdOaYk8M78YEVwjHHjThVtxCq3kobMkmB0o6s1vRWE AppA== X-Gm-Message-State: AGi0PuZBgRy75ClC3uOBBxUi7C07UJ0LFH0xiY/Z/47Lw/x60H9zD45f xyemOBb/fYW5tQGA2ev1RZhAvWyHVlA= X-Google-Smtp-Source: APiQypL2AecSyWquY5YNh7az/rQn0pMZUwCseoJlpQyNnR15DX52m5IQlQlVrZ6nafWwXEMSUkHqHQ== X-Received: by 2002:a17:90a:e2c1:: with SMTP id fr1mr1340295pjb.124.1588029396565; Mon, 27 Apr 2020 16:16:36 -0700 (PDT) Received: from hermes.corp.microsoft.com (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id kb10sm353104pjb.6.2020.04.27.16.16.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2020 16:16:35 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Yipeng Wang , Sameh Gobriel , Bruce Richardson Date: Mon, 27 Apr 2020 16:16:23 -0700 Message-Id: <20200427231625.10135-3-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200427231625.10135-1-stephen@networkplumber.org> References: <20200212230810.2837-1-stephen@networkplumber.org> <20200427231625.10135-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 2/4] hash: check flags on creation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Acked-by: Yipeng Wang --- lib/librte_hash/rte_cuckoo_hash.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/librte_hash/rte_cuckoo_hash.c b/lib/librte_hash/rte_cuckoo_hash.c index 38767a8a164f..d54bbb47edcb 100644 --- a/lib/librte_hash/rte_cuckoo_hash.c +++ b/lib/librte_hash/rte_cuckoo_hash.c @@ -32,6 +32,14 @@ #include "rte_hash.h" #include "rte_cuckoo_hash.h" +/* Mask of all flags supported by this version */ +#define RTE_HASH_EXTRA_FLAGS_MASK (RTE_HASH_EXTRA_FLAGS_TRANS_MEM_SUPPORT | \ + RTE_HASH_EXTRA_FLAGS_MULTI_WRITER_ADD | \ + RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY | \ + RTE_HASH_EXTRA_FLAGS_EXT_TABLE | \ + RTE_HASH_EXTRA_FLAGS_NO_FREE_ON_DEL | \ + RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY_LF) + #define FOR_EACH_BUCKET(CURRENT_BKT, START_BUCKET) \ for (CURRENT_BKT = START_BUCKET; \ CURRENT_BKT != NULL; \ @@ -164,6 +172,12 @@ rte_hash_create(const struct rte_hash_parameters *params) return NULL; } + if (params->extra_flag & ~RTE_HASH_EXTRA_FLAGS_MASK) { + rte_errno = EINVAL; + RTE_LOG(ERR, HASH, "rte_hash_create: unsupported extra flags\n"); + return NULL; + } + /* Validate correct usage of extra options */ if ((params->extra_flag & RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY) && (params->extra_flag & RTE_HASH_EXTRA_FLAGS_RW_CONCURRENCY_LF)) { From patchwork Mon Apr 27 23:16:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69411 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A63EBA00BE; Tue, 28 Apr 2020 01:17:01 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B2C3E1D54A; Tue, 28 Apr 2020 01:16:43 +0200 (CEST) Received: from mail-pj1-f68.google.com (mail-pj1-f68.google.com [209.85.216.68]) by dpdk.org (Postfix) with ESMTP id 8E0351D529 for ; Tue, 28 Apr 2020 01:16:39 +0200 (CEST) Received: by mail-pj1-f68.google.com with SMTP id fu13so281960pjb.5 for ; Mon, 27 Apr 2020 16:16:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5zDoPIQZJD4BR+6Ns9o1Oli/kD0TyZk6fTRGDLaM0dc=; b=WD0u7zGmitRyDG9Ua8BVkkoLZVln9dLhraXdWHnooVdq0jafau57lCA+tQm79xNAHw RxLJWLgItmTBU1Vt2gVFZjJXztNn33lf6YU07PNUSzkxjGbb6IQPqekxCUVodLv6zAeV RBstK3FutqzcLs+T3pOZ19v3y0cwq7JRGKah3sPZCgRsEa4J44u0ooE+9O3f10QjPxbW /oqSQkTiXv1Mx31AddpNsZpdYQT79BBrE9Jccz8Dw6ECvTFiKSE3Clfp+Zx6up+kuVqK BjxVb0rPD1tFCVt7koWK/JEOh9NsRLVtiIavAPnjGT7wnBgvlrm9mctKXZfBjwPXC0OL eDag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5zDoPIQZJD4BR+6Ns9o1Oli/kD0TyZk6fTRGDLaM0dc=; b=SJKStm1xILtJWkXKMnt6P2dXL1XqiyXQG5tgtDEGtQImuzF+mOGzn7T3xD53H20hyN sYPVN+QMTO2Ee19iDoa6R75Zy56jiv+6M89EZxDwdgVVb7ET6kTwNjw19VmFUzGwkmdj tHaPDF2iGs7cuR3heUx/qjIFMmkNE95SSmDvGypsR2VVdJLuimIz48yZbnbvyFCfn/3d pfDXE4J101o3uvUeegPkHm9usry9Hxw9308owclf6uljc7d1CqmxPe/y4s2xdEQEGd+C Ajqn0A2PCYqEJ5WjsDwp41ez5uGIuy/39WhveG/qjClXTd+Ao5yKrFR0Q7SLppK+rlGz zTTw== X-Gm-Message-State: AGi0PubYVeo5W4kdr3Zm3PXC2b/BtvfvtdRBHhAkoqhm4/cKpnFyfyf1 DSm5LGQf1+NHAXORtx/ZZXN9xEQoKzw= X-Google-Smtp-Source: APiQypJ3hIB9N0azj7YIGfxuEygGbhTbInPRRlPIniZDI+8uE3PplUT737vElXmlT+AdD+Z8tvewlA== X-Received: by 2002:a17:90a:3aef:: with SMTP id b102mr1266190pjc.177.1588029398168; Mon, 27 Apr 2020 16:16:38 -0700 (PDT) Received: from hermes.corp.microsoft.com (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id kb10sm353104pjb.6.2020.04.27.16.16.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2020 16:16:37 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Gage Eads , Olivier Matz Date: Mon, 27 Apr 2020 16:16:24 -0700 Message-Id: <20200427231625.10135-4-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200427231625.10135-1-stephen@networkplumber.org> References: <20200212230810.2837-1-stephen@networkplumber.org> <20200427231625.10135-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 3/4] stack: check flags on creation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Acked-by: Gage Eads --- lib/librte_stack/rte_stack.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/librte_stack/rte_stack.c b/lib/librte_stack/rte_stack.c index d19824f00439..e58fa545fca4 100644 --- a/lib/librte_stack/rte_stack.c +++ b/lib/librte_stack/rte_stack.c @@ -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 From patchwork Mon Apr 27 23:16:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 69412 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id AC127A00BE; Tue, 28 Apr 2020 01:17:07 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F020B1D54E; Tue, 28 Apr 2020 01:16:44 +0200 (CEST) Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) by dpdk.org (Postfix) with ESMTP id EF06F1D534 for ; Tue, 28 Apr 2020 01:16:40 +0200 (CEST) Received: by mail-pf1-f194.google.com with SMTP id w65so9732749pfc.12 for ; Mon, 27 Apr 2020 16:16:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5g1dTUi5guNJR46ba7VAynNH00ugrf1kkX2Uc4mf1aA=; b=zbwgNShoeak94K9cNHWFPrxthvFxge/xJAO1Kk1iOtUbRbj7KcXYRrMhLHTDUO2pox zZ6Woevthh+a97hD47F5a47Snv42dq3NWkjauFtkv4AXZ+foQVxiITo5MXAifGg4SxWl XkrKdDXGJwh9yGZj/yGFjbXFrsd7hoZLG7x22uMghdKifUrSe8pmjKJVIpO3j0Sj4X1z u9pEqIjn0bPsACO6lPSNuamfM21NeR8HChN+EidcYPy3nRZRtrcNSnb2GT1RI8batWdr B/UTEnhyokBD+Vspwg/MGg+zL9yVq5hls6vGqUfACmokONcZbVvECx5tX0gbp2z6UqNf P3MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5g1dTUi5guNJR46ba7VAynNH00ugrf1kkX2Uc4mf1aA=; b=j790LLiih5gPEMmoJqPL/ud2l0fmqiiNrbCJYD9M705AWd0Cc8y5+qadzinry+7QcP hnugUNR8tV3b+mrd91HanE0CGWitId8BVILK+OmTGNEnLvFTFVRKdgAO+wUQ8r/r8Mmh cKZVy86bTm0c8gjZTHkSKR33BIXb1A+CARVTy/yV1Do+Gzn443vt1jOwErqyQ11xvVPW 5WnzfzR5tmadbfqZedJ/BHjxxdZ3c5LV4yU0TyBkveyi2qIBhsZachMZ3Re/L4AqtFwj lvLP3nEU7gWqZ0BVcffBTqkaalzvCFS+RJXuoCTimuqsY3Pf9x57uHOm5G8UTingTmR4 lvow== X-Gm-Message-State: AGi0PubVpyDPDVo/U2BCwLfZ1c9hfQgtP6Kv5nHUtnZkL1vH1aP0kPWs hVmZqp4yazxyP29jOSsWZJawH0GNUMA= X-Google-Smtp-Source: APiQypJCh3AkJTa5qp5VTnZYlYvLC7NY4psoI0pJGoD3x2/FZcmga5mY3djRmdivFi68W7Goyvq8rA== X-Received: by 2002:a63:f90c:: with SMTP id h12mr25314630pgi.124.1588029399709; Mon, 27 Apr 2020 16:16:39 -0700 (PDT) Received: from hermes.corp.microsoft.com (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id kb10sm353104pjb.6.2020.04.27.16.16.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2020 16:16:38 -0700 (PDT) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , Cristian Dumitrescu Date: Mon, 27 Apr 2020 16:16:25 -0700 Message-Id: <20200427231625.10135-5-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200427231625.10135-1-stephen@networkplumber.org> References: <20200212230810.2837-1-stephen@networkplumber.org> <20200427231625.10135-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 4/4] cfgfile: check flags value X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Acked-by: Bruce Richardson --- lib/librte_cfgfile/rte_cfgfile.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/librte_cfgfile/rte_cfgfile.c b/lib/librte_cfgfile/rte_cfgfile.c index 9049fd9c2319..714717dd9007 100644 --- a/lib/librte_cfgfile/rte_cfgfile.c +++ b/lib/librte_cfgfile/rte_cfgfile.c @@ -272,6 +272,10 @@ rte_cfgfile_create(int flags) int i; struct rte_cfgfile *cfg; + /* future proof flags usage */ + if (flags & ~(CFG_FLAG_GLOBAL_SECTION | CFG_FLAG_EMPTY_VALUES)) + return NULL; + cfg = malloc(sizeof(*cfg)); if (cfg == NULL)