net/bonding: fix out of bound access in LACP mode
authorDavid Marchand <david.marchand@redhat.com>
Wed, 10 Apr 2019 12:53:46 +0000 (14:53 +0200)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 22 Aug 2019 16:45:49 +0000 (18:45 +0200)
commit8ff0003c19412b04f70bfbe59fa52822417f86c3
tree8cd40c9b1f4325387018d3b2fb480f9afbd06561
parente7fd5a3bbe5636e93a66fd5086f182756624c97a
net/bonding: fix out of bound access in LACP mode

We'd better consolidate the fast queue and the normal tx burst functions
under a common inline wrapper for maintenance.

But looking closer at the bufs_slave_port_idxs[] mapping array in those
tx burst functions, its size is invalid since up to nb_bufs are handled
here.
A previous patch [1] fixed this issue for balance tx burst function
without mentioning it.

802.3ad and balance modes are functionally equivalent on transmit.
The only difference is on the slave id distribution.
Add an additional inline wrapper to consolidate even more and fix this
issue.

[1]: https://git.dpdk.org/dpdk/commit/?id=c5224f623431

Fixes: 09150784a776 ("net/bonding: burst mode hash calculation")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Chas Williams <chas3@att.com>
drivers/net/bonding/rte_eth_bond_pmd.c