From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <3chas3@gmail.com>
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 <dev@dpdk.org>; Mon, 18 Sep 2017 21:47:52 +0200 (CEST)
Received: by mail-qt0-f193.google.com with SMTP id l25so1041030qtf.2
 for <dev@dpdk.org>; Mon, 18 Sep 2017 12:47:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id;
 bh=qA6z9j21LCpUyZmXZgRIs9UJe8guP/NJ9ns/fASUElU=;
 b=YspAzb4qOR09iktR0PozVCVO8Xy9z9YRQTF/wkRBqsiu79g9UxPHkEJJPtj03LWXBq
 TVs3LEKDTKm0ZCU2ljvHdx51aaHrNMpZTuZ6zA3m+AgPzxeSyF3dDphQYNga8z0MKbDl
 YIroPOGQZ/3w1oUM5Mx5vJBFrHqz418iSqgRabTVnkoNbnP6IoFr9NOnqD8G3kagsimN
 epD1l1ULyeN7wNn9O+O56jkrkaPW4IYMo+Rv7ufTRiFV7MAJCC9j818WNSh8MKxSrKOD
 4LUXVx+cb0RGkl/mSSwky8Hdj9rBooZ1IMktL95ZQHbP8/SG931OqcE4yfjeTQBavm+Y
 UKeA==
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=qA6z9j21LCpUyZmXZgRIs9UJe8guP/NJ9ns/fASUElU=;
 b=lKeTy2ebuVchxAIQt0BYXnrDra0oxeuvdhMf/k+DOIpEHWsL06su03Z0xGt053bVsR
 xSjTbT0Caz+JkaF4Tc426RnmqD7lrg0V+hElcVNjZQ9gr7xfJGi8eToWkm6YZ+1euWFc
 xogcCsjpV5E7AstWxzIWXNqjqb2gOkKPOU3qYxcO+Z6ULMW6IO0jDI3sRnLMPI1q5Poh
 BlPnrE0bu/ERfnoxUuDj7Rdi1PTg0Zc44ejYaclZ2DeiXv1+O6dG0C0WhvMnRuNnyaE9
 vMdi18LkcaSTLYh6cb9rwa1ZeNXamvET5sFEThT4pu18h6/Meutho/qgZe10tMDOzAuA
 NdJg==
X-Gm-Message-State: AHPjjUhouiSZxEcLeVwnMhE6rEbX/hGXMW4Ij3jgNxtKAfSBIn2fUHDL
 TQ5ydCiraV7tfv5z
X-Google-Smtp-Source: AOwi7QDPlQ6gVU8ichyTRymab26b+6+O8s1p/kq7P2WLUHOUem2qPX3XnE0lul51Vy3UZ52vPfWzeQ==
X-Received: by 10.200.40.146 with SMTP id i18mr39128575qti.94.1505764071431;
 Mon, 18 Sep 2017 12:47:51 -0700 (PDT)
Received: from monolith.home (pool-96-255-82-208.washdc.fios.verizon.net.
 [96.255.82.208])
 by smtp.gmail.com with ESMTPSA id w46sm5655310qta.84.2017.09.18.12.47.50
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 18 Sep 2017 12:47:50 -0700 (PDT)
From: Chas Williams <3chas3@gmail.com>
To: dev@dpdk.org
Cc: bruce.richardson@intel.com, pablo.de.lara.guarch@intel.com,
 Chas Williams <chas3@att.com>
Date: Mon, 18 Sep 2017 15:47:40 -0400
Message-Id: <20170918194740.23057-1-3chas3@gmail.com>
X-Mailer: git-send-email 2.9.5
Subject: [dpdk-dev] [PATCH] hash: document rte_jhash() boundary behavior
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 18 Sep 2017 19:47:52 -0000

From: Chas Williams <chas3@att.com>

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 <chas3@att.com>
---
 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