summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Tatianin <d-tatianin@yandex-team.ru>2023-01-02 12:53:35 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-01-14 10:16:48 +0100
commit2a9ee7c24b3260ac7e57b51bbe9f9813d8724fb9 (patch)
treebbeda258ddeeac4a95132010d53fa622dadc879f
parentbc6a0993bf8f026d8b67fcee9f75e6619324b5bb (diff)
downloadlinux-2a9ee7c24b3260ac7e57b51bbe9f9813d8724fb9.tar.gz
linux-2a9ee7c24b3260ac7e57b51bbe9f9813d8724fb9.tar.bz2
linux-2a9ee7c24b3260ac7e57b51bbe9f9813d8724fb9.zip
drivers/net/bonding/bond_3ad: return when there's no aggregator
[ Upstream commit 9c807965483f42df1d053b7436eedd6cf28ece6f ] Otherwise we would dereference a NULL aggregator pointer when calling __set_agg_ports_ready on the line below. Found by Linux Verification Center (linuxtesting.org) with the SVACE static analysis tool. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Daniil Tatianin <d-tatianin@yandex-team.ru> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/net/bonding/bond_3ad.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c
index acb6ff0be5ff..320e5461853f 100644
--- a/drivers/net/bonding/bond_3ad.c
+++ b/drivers/net/bonding/bond_3ad.c
@@ -1520,6 +1520,7 @@ static void ad_port_selection_logic(struct port *port, bool *update_slave_arr)
slave_err(bond->dev, port->slave->dev,
"Port %d did not find a suitable aggregator\n",
port->actor_port_number);
+ return;
}
}
/* if all aggregator's ports are READY_N == TRUE, set ready=TRUE