hash: document rte_jhash() boundary behavior
PATCH 1/1 hash: document rte_jhash() boundary behavior
From: Chas Williams <[email protected]>
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.
--- lib/librte_hash/rte_jhash.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
lib/librte_hash/rte_jhash.h +4 -1
@@ -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.
Signature · 1 line
2.9.5
Quoted 24 lines · Chas Williams
From: Chas Williams <[email protected]>
Due to the
uint32_taccesses in the hash computation, keys that aren't
aligned to auint32_tboundary or multiples ofuint32_tin length, may
see accesses beyond the end of the key. This may cross a page boundary.Signed-off-by Chas Williams <[email protected]>---
lib/librte_hash/rte_jhash.h | 5 ++++-1 file changed, 4 insertions(+), 1 deletion(-)lib/librte_hash/rte_jhash.h +0
-0@@ -290,7 +290,10 @@ rte_jhash_32b_2hashes(const uint32_t *k,
uint32_tlength,uint32_t*pc,uint32_t
/**
* The most generic version, hashes an arbitrary sequence
* of bytes. No alignment or length assumptions are made about
Quoted 8 lines
- * 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.
Signature · 2 lines
Kind regards, Luca Boccassi
Quoted 10 lines
-----Original Message-----
From: dev [mailto:[email protected]] On Behalf Of Chas Williams
Sent: Monday, September 18, 2017 8:48 PM
To: [email protected]
Cc: Richardson, Bruce <[email protected]>; De Lara Guarch, Pablo <[email protected]>; Chas Williams <[email protected]>
Subject: [dpdk-dev] [PATCH] hash: documentrte_jhash()boundary behavior
Quoted 7 lines
From: Chas Williams <[email protected]>
Due to the
uint32_taccesses in the hash computation, keys that aren't aligned to auint32_tboundary or multiples ofuint32_tin length, may see accesses beyond the end of the key. This may cross a page boundary.Signed-off-by Chas Williams <[email protected]>
Thomas Monjalon
AppliedQuoted 7 lines
Quoted 5 lines
Due to the
uint32_taccesses in the hash computation, keys that aren't aligned to auint32_tboundary or multiples ofuint32_tin length, may see accesses beyond the end of the key. This may cross a page boundary.Signed-off-by Chas Williams <[email protected]>Acked-by John McNamara <[email protected]>
Applied, thanks