On Thu, Oct 21, 2021 at 06:15:49PM +0100, Vladimir Medvedkin wrote: > This patch fixes buffer overflow reported by ASAN, > please reference https://bugs.dpdk.org/show_bug.cgi?id=819 > > The rte_lpm6 keeps routing information for control plane purpose > inside the rte_hash table which uses rte_jhash() as a hash function. > From the rte_jhash() documentation: If input key is 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). > rte_lpm6 uses 17 bytes keys consisting of IPv6 address (16 bytes) + > depth (1 byte). > > This patch increases the size of the depth field up to uint32_t > and sets the alignment to 4 bytes. > > Bugzilla ID: 819 > Fixes: 86b3b21952a8 ("lpm6: store rules in hash table") > Cc: a...@therouter.net > Cc: sta...@dpdk.org > > Signed-off-by: Vladimir Medvedkin <vladimir.medved...@intel.com>
Acked-by: Bruce Richardson <bruce.richard...@intel.com>