On slave activation in LACP (8023AD) SOCKET_ANY_ID (which is -1)
is being casted to unsigned char and then to signed int.
The result is that socket_id has value of 255, not -1.
This results to memory allocation failure.

Signed-off-by: Sergey Balabanov <balabanovsv at ecotelecom.ru>
---
 drivers/net/bonding/rte_eth_bond_8023ad.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c 
b/drivers/net/bonding/rte_eth_bond_8023ad.c
index 97a828e..c0f0b99 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.c
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
@@ -849,7 +849,7 @@ bond_mode_8023ad_activate_slave(struct rte_eth_dev 
*bond_dev, uint8_t slave_id)
        };

        char mem_name[RTE_ETH_NAME_MAX_LEN];
-       uint8_t socket_id;
+       int socket_id;
        unsigned element_size;

        /* Given slave mus not be in active list */
-- 
2.1.4

Reply via email to