From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chas Williams <3chas3@gmail.com> Subject: [PATCH] hash: document rte_jhash() boundary behavior Date: Mon, 18 Sep 2017 15:47:40 -0400 Message-ID: <20170918194740.23057-1-3chas3@gmail.com> Cc: bruce.richardson@intel.com, pablo.de.lara.guarch@intel.com, Chas Williams To: dev@dpdk.org Return-path: Received: from mail-qt0-f193.google.com (mail-qt0-f193.google.com [209.85.216.193]) by dpdk.org (Postfix) with ESMTP id 2CC531E34 for ; Mon, 18 Sep 2017 21:47:52 +0200 (CEST) Received: by mail-qt0-f193.google.com with SMTP id l25so1041030qtf.2 for ; Mon, 18 Sep 2017 12:47:52 -0700 (PDT) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Chas Williams Due to the uint32_t accesses in the hash computation, keys that aren't aligned to a uint32_t boundary or multiples of uint32_t in length, may see accesses beyond the end of the key. This may cross a page boundary. Signed-off-by: Chas Williams --- lib/librte_hash/rte_jhash.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/librte_hash/rte_jhash.h b/lib/librte_hash/rte_jhash.h index 207478c..3eca138 100644 --- a/lib/librte_hash/rte_jhash.h +++ b/lib/librte_hash/rte_jhash.h @@ -290,7 +290,10 @@ rte_jhash_32b_2hashes(const uint32_t *k, uint32_t length, uint32_t *pc, uint32_t /** * The most generic version, hashes an arbitrary sequence * of bytes. No alignment or length assumptions are made about - * the input key. + * the input key. For keys not aligned to four byte boundaries + * or a multiple of four bytes in length, the memory region + * just after may be read (but not used in the computation). + * This may cross a page boundary. * * @param key * Key to calculate hash of. -- 2.9.5