On Mon, 2017-09-18 at 15:47 -0400, Chas Williams wrote:
> From: Chas Williams <ch...@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 <ch...@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 <bl...@debian.org>

-- 
Kind regards,
Luca Boccassi

Reply via email to