From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9147DA0C4A for ; Wed, 7 Jul 2021 13:19:24 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7EC43406B4; Wed, 7 Jul 2021 13:19:24 +0200 (CEST) Received: from proxy.6wind.com (host.78.145.23.62.rev.coltfrance.com [62.23.145.78]) by mails.dpdk.org (Postfix) with ESMTP id 38662406B4; Wed, 7 Jul 2021 13:19:23 +0200 (CEST) Received: from localhost (unknown [10.16.0.39]) by proxy.6wind.com (Postfix) with ESMTP id 16BA6A6B12C; Wed, 7 Jul 2021 13:19:23 +0200 (CEST) From: Thierry Herbelot To: dev@dpdk.org Cc: Thierry Herbelot , Thomas Monjalon , stable@dpdk.org, Cristian Dumitrescu Date: Wed, 7 Jul 2021 13:19:05 +0200 Message-Id: X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210524112836.28224-1-thierry.herbelot@6wind.com> References: <20210524112836.28224-1-thierry.herbelot@6wind.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] [PATCH V3] table: fix bucket empty logic X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Due to a typo, only 3 out of 4 keys in the bucket of the exact match table were considered, which can result in valid keys being incorrectly dropped from the table. Fixes: d0a00966618ba ("table: add exact match SWX table") Cc: stable@dpdk.org Cc: Cristian Dumitrescu Signed-off-by: Thierry Herbelot -- V3: reword commit log V2: reword patch title --- lib/table/rte_swx_table_em.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/table/rte_swx_table_em.c b/lib/table/rte_swx_table_em.c index 788e25f6b912..03b28c4c9da0 100644 --- a/lib/table/rte_swx_table_em.c +++ b/lib/table/rte_swx_table_em.c @@ -280,7 +280,7 @@ table_key_data(struct table *t, uint32_t key_id) static inline int bkt_is_empty(struct bucket_extension *bkt) { - return (!bkt->sig[0] && !bkt->sig[1] && !bkt->sig[2] && !bkt->sig[2]) ? + return (!bkt->sig[0] && !bkt->sig[1] && !bkt->sig[2] && !bkt->sig[3]) ? 1 : 0; } -- 2.29.2