linux-stable/drivers/net/ethernet/microchip/lan966x
Horatiu Vultur 15faa1f67a 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: cabc9d4933 ("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>
2024-02-09 13:47:47 -08:00
..
Kconfig net: lan966x: Add support for offloading pcp table 2023-05-18 15:32:09 +02:00
Makefile net: lan966x: Add support for offloading pcp table 2023-05-18 15:32:09 +02:00
lan966x_cbs.c net: lan966x: Add offload support for cbs 2022-09-28 09:36:28 +01:00
lan966x_dcb.c net: lan966x: Add support for DSCP rewrite 2023-05-18 15:32:10 +02:00
lan966x_ethtool.c net: lan966x: Fix potential null-ptr-deref in lan966x_stats_init() 2022-11-16 09:10:29 +00:00
lan966x_ets.c net: lan966x: Add offload support for ets 2022-09-28 09:36:28 +01:00
lan966x_fdb.c
lan966x_fdma.c page_pool: split types and declarations from page_pool.h 2023-08-07 13:05:19 -07:00
lan966x_goto.c net: microchip: vcap api: Use src and dst chain id to chain VCAP lookups 2023-01-16 13:45:17 +00:00
lan966x_ifh.h net: lan966x: Add define IFH_LEN_BYTES 2022-11-11 10:49:34 +00:00
lan966x_lag.c lan966x: Fix crash when adding interface under a lag 2024-02-09 13:47:47 -08:00
lan966x_mac.c
lan966x_main.c net: lan966x: remove useless code in lan966x_xtr_irq_handler 2023-10-23 09:56:05 +01:00
lan966x_main.h page_pool: split types and declarations from page_pool.h 2023-08-07 13:05:19 -07:00
lan966x_mdb.c
lan966x_mirror.c net: lan966x: Add port mirroring support using tc-matchall 2022-10-03 12:46:46 +01:00
lan966x_mqprio.c net: lan966x: Fix spelling mistake "tarffic" -> "traffic" 2022-09-30 12:34:01 +01:00
lan966x_phylink.c net: lan966x: update PCS driver to use neg_mode 2023-06-22 19:41:01 -07:00
lan966x_police.c net: lan966x: Change lan966x_police_del return type 2023-03-15 00:28:56 -07:00
lan966x_port.c net: lan966x: Fix port configuration when using SGMII interface 2024-01-27 10:02:01 +00:00
lan966x_ptp.c net: lan966x: Fix return value check for vcap_get_rule() 2023-08-19 19:29:23 +01:00
lan966x_regs.h net: lan966x: Add registers to configure PCP, DEI, DSCP 2023-05-18 15:32:09 +02:00
lan966x_switchdev.c
lan966x_taprio.c net: lan966x: Add offload support for taprio 2022-09-23 12:31:27 +01:00
lan966x_tbf.c net: lan966x: Add offload support for tbf 2022-09-28 09:36:28 +01:00
lan966x_tc.c net/sched: taprio: replace tc_taprio_qopt_offload :: enable with a "cmd" enum 2023-05-31 10:00:30 +01:00
lan966x_tc_flower.c net: flow_dissector: Use 64bits for used_keys 2023-07-31 09:11:24 +01:00
lan966x_tc_matchall.c net: microchip: vcap api: Use src and dst chain id to chain VCAP lookups 2023-01-16 13:45:17 +00:00
lan966x_vcap_ag_api.c net: lan966x: Add ES0 VCAP model 2023-05-10 09:51:10 +01:00
lan966x_vcap_ag_api.h net: lan966x: Add is2 vcap model to vcap API. 2022-11-29 13:08:23 +01:00
lan966x_vcap_debugfs.c net: lan966x: Add ES0 VCAP keyset configuration for lan966x 2023-05-10 09:51:11 +01:00
lan966x_vcap_impl.c net: lan966x: Add ES0 VCAP keyset configuration for lan966x 2023-05-10 09:51:11 +01:00
lan966x_vlan.c net: lan966x: Adjust maximum frame size when vlan is enabled/disabled 2022-11-01 21:18:16 -07:00
lan966x_xdp.c lan966x: Don't use xdp_frame when action is XDP_TX 2023-04-24 18:58:04 -07:00