From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65]) by dpdk.org (Postfix) with ESMTP id 5D093201; Tue, 24 Jan 2017 21:38:38 +0100 (CET) Received: by mail-wm0-f65.google.com with SMTP id r126so37457089wmr.3; Tue, 24 Jan 2017 12:38:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=EkUkje2PBkNHHT5VQNUJbjDPxOB+BgqxMW7B0ti0pDo=; b=h+UIkd/OxAe+8IJUprMNtf3h9cCPNMm7kq7oJuLUlrnV4vZrV75x5wAUFoJE7q4MBM T0z9pdLoeydz5ES7pMUL52LCaXedrzQ/YBCa/7NDWELOpBpGvDwyp+2Uf0ykJOk7VyDp dAGczNrX+KRDrZ27hHYwNgMz6ea2YkJa4kH/qZhkxpYF+ufhNnRYl9JtrT9MsrwGkXWf DoH+u1Qci8wkKCiicao5c3Qo8bBmdbYKPKHvB7l+4AXnhc4+m5xr4JkcVGQe3xjIjqLc 0+N9yPuyap2E9cBAumn7JxLPrSVoq8CxCcNQ2gstdbF/IYmbrH3Vqn8t07WSecSD42wj qt+A== 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; bh=EkUkje2PBkNHHT5VQNUJbjDPxOB+BgqxMW7B0ti0pDo=; b=pqZvE0FRHf8e8UTg4N9jzLTE9lkOGSICK9WlopeSlQIA/dQBIcCaMG9Vm6d5VVZXdC rE0GTAQWPSRY6G+BJ+p7a2NQPB5S+DoLkRyNE47Ia1TLuSACztdsTpLx8ADGYOcIYKJH pnudR5sBKlBum/N9pQ1mga6fHWdx2weg4VzAWRPBQc09mH/nXBEV/7vpRnBpghsQvusS zJxN01kwOOO+oAure52SNxkc0qZH3TJJDMk+u/qA57Lp4v7XpmdP2wydRAqfAN1C0Wd2 TkWIj2tgpI5Qh7fTjCM3+PpX9/TKmgY7C1qsMJHx92wxBNY7+mpg052XHkaTNzJ1TqPH jHzQ== X-Gm-Message-State: AIkVDXKplRfSUvDEI+woTUFJLUzybwL1PLS1D702TdWkkOYPj02Q8l0MyTBGioZAeRf2Ag== X-Received: by 10.28.232.91 with SMTP id f88mr18660945wmh.27.1485290318095; Tue, 24 Jan 2017 12:38:38 -0800 (PST) Received: from emmanuel-Aspire-E5-571.primacom.net ([185.44.151.141]) by smtp.gmail.com with ESMTPSA id d14sm28194129wmd.19.2017.01.24.12.38.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 24 Jan 2017 12:38:37 -0800 (PST) From: Emmanuel Roullit To: cristian.dumitrescu@intel.com Cc: dev@dpdk.org, stable@dpdk.org Date: Tue, 24 Jan 2017 21:38:30 +0100 Message-Id: <20170124203830.5691-1-emmanuel.roullit@gmail.com> X-Mailer: git-send-email 2.11.0 Subject: [dpdk-dev] [PATCH] rte_table: ensure prev bucket has a valid pointer 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: , X-List-Received-Date: Tue, 24 Jan 2017 20:38:38 -0000 Fixes: 43f15e28377f ("table: fix verification on hash bucket header alignment") Signed-off-by: Emmanuel Roullit --- lib/librte_table/rte_table_hash_key16.c | 7 +++++-- lib/librte_table/rte_table_hash_key32.c | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/librte_table/rte_table_hash_key16.c b/lib/librte_table/rte_table_hash_key16.c index 08d4d77eb..9c04e7f5e 100644 --- a/lib/librte_table/rte_table_hash_key16.c +++ b/lib/librte_table/rte_table_hash_key16.c @@ -483,8 +483,11 @@ rte_table_hash_entry_add_key16_ext( bucket = (struct rte_bucket_4_16 *) &f->memory[(f->n_buckets + bucket_index) * f->bucket_size]; - bucket_prev->next = bucket; - bucket_prev->next_valid = 1; + + if (bucket_prev) { + bucket_prev->next = bucket; + bucket_prev->next_valid = 1; + } bucket->signature[0] = signature; memcpy(bucket->key[0], key, f->key_size); diff --git a/lib/librte_table/rte_table_hash_key32.c b/lib/librte_table/rte_table_hash_key32.c index 161f6b7a7..27e221be9 100644 --- a/lib/librte_table/rte_table_hash_key32.c +++ b/lib/librte_table/rte_table_hash_key32.c @@ -471,8 +471,11 @@ rte_table_hash_entry_add_key32_ext( bucket = (struct rte_bucket_4_32 *) &f->memory[(f->n_buckets + bucket_index) * f->bucket_size]; - bucket_prev->next = bucket; - bucket_prev->next_valid = 1; + + if (bucket_prev) { + bucket_prev->next = bucket; + bucket_prev->next_valid = 1; + } bucket->signature[0] = signature; memcpy(bucket->key[0], key, f->key_size); -- 2.11.0