On Mon, Jun 01, 2020 at 03:24:16PM +0000, Alexander Kozyrev wrote:
> Memzones are created in testpmd in order to test external data
> buffers functionality. Each memzone is 2Mb in size and divided among
> the pool of external memory buffers.
> 
> Memzone may not always be fully utilized because mbufs size can vary
> and some space can be left unused at the tail of a memzone. This is
> not handled properly and mbuf can get the address of this leftover
> space since this address is still valid (part of memzone), but there
> is not enough space to fit the whole packet data. As a result packet
> data may overflow and cause the memory corruption.
> 
> Take mbuf size into account when distributing memory addresses from
> a memzone to external mbufs. Skip the remaining tail in case there
> is not enough room for a packet and move to a next memzone instead.
> 
> Fixes: 6c8e50c2e5 ("mbuf: create pool with external memory buffers")
> Cc: sta...@dpdk.org
> Signed-off-by: Alexander Kozyrev <akozy...@mellanox.com>
> Acked-by: Viacheslav Ovsiienko <viachesl...@mellanox.com>

Acked-by: Olivier Matz <olivier.m...@6wind.com>

Thanks!

Reply via email to