[dpdk-dev] [PATCH] hash: document rte_jhash() boundary behavior
Luca Boccassi
bluca at debian.org
Tue Sep 19 12:07:55 CEST 2017
On Mon, 2017-09-18 at 15:47 -0400, Chas Williams wrote:
> From: Chas Williams <chas3 at 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 at 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.
Acked-by: Luca Boccassi <bluca at debian.org>
--
Kind regards,
Luca Boccassi
More information about the dev
mailing list