Commit 5ed59493 authored by Daniil Tatianin's avatar Daniil Tatianin Committed by zhaoxiaoqiang11
Browse files

drivers/net/bonding/bond_3ad: return when there's no aggregator

stable inclusion
from stable-v5.10.163
commit 2a9ee7c24b3260ac7e57b51bbe9f9813d8724fb9
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I7PJ9N

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2a9ee7c24b3260ac7e57b51bbe9f9813d8724fb9



----------------------------------------------------

[ Upstream commit 9c807965 ]

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: 1da177e4 ("Linux-2.6.12-rc2")
Signed-off-by: default avatarDaniil Tatianin <d-tatianin@yandex-team.ru>
Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarzhaoxiaoqiang11 <zhaoxiaoqiang11@jd.com>
parent 33c44e8b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1529,6 +1529,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