lan966x: Fix crash when adding interface under a lag
authorHoratiu Vultur <horatiu.vultur@microchip.com>
Tue, 6 Feb 2024 12:30:54 +0000 (13:30 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 9 Feb 2024 21:47:47 +0000 (13:47 -0800)
commit15faa1f67ab405d47789d4702f587ec7df7ef03e
treecae78c09f93e67dcad44c866737828596096fbd4
parentaae09a6c7783e28d1bcafee85e172fe411923b22
lan966x: Fix crash when adding interface under a lag

There is a crash when adding one of the lan966x interfaces under a lag
interface. The issue can be reproduced like this:
ip link add name bond0 type bond miimon 100 mode balance-xor
ip link set dev eth0 master bond0

The reason is because when adding a interface under the lag it would go
through all the ports and try to figure out which other ports are under
that lag interface. And the issue is that lan966x can have ports that are
NULL pointer as they are not probed. So then iterating over these ports
it would just crash as they are NULL pointers.
The fix consists in actually checking for NULL pointers before accessing
something from the ports. Like we do in other places.

Fixes: cabc9d49333d ("net: lan966x: Add lag support for lan966x")
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20240206123054.3052966-1-horatiu.vultur@microchip.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/microchip/lan966x/lan966x_lag.c