OpenCloudOS-Kernel/drivers/net/ethernet/mellanox/mlxsw
Jiri Pirko 4340f42f20 mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload fails
In case of reload fail, the mlxsw_sp->ports contains a pointer to a
freed memory (either by reload_down() or reload_up() error path).
Fix this by initializing the pointer to NULL and checking it before
dereferencing in split/unsplit/type_set callpaths.

Fixes: 24cc68ad6c ("mlxsw: core: Add support for reload")
Reported-by: Danielle Ratson <danieller@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-05-22 16:08:14 -07:00
..
Kconfig mlxsw: spectrum: Extend to support Spectrum-3 ASIC 2019-08-08 22:27:09 -07:00
Makefile mlxsw: spectrum: Add devlink-trap support 2019-08-21 12:58:39 -07:00
cmd.h mlxsw: cmd: Free running clock PCI BAR and offsets via query firmware 2019-06-13 22:34:55 -07:00
core.c mlxsw: spectrum_trap: Add support for setting of packet trap group parameters 2020-03-30 17:54:59 -07:00
core.h mlxsw: spectrum_trap: Add support for setting of packet trap group parameters 2020-03-30 17:54:59 -07:00
core_acl_flex_actions.c mlxsw: Fix some IS_ERR() vs NULL bugs 2020-04-23 12:34:43 -07:00
core_acl_flex_actions.h mlxsw: spectrum_flower: Offload FLOW_ACTION_MANGLE 2020-03-26 11:55:40 -07:00
core_acl_flex_keys.c mlxsw: core_acl: Avoid defining static variable in header file 2020-03-27 15:06:43 -07:00
core_acl_flex_keys.h mlxsw: core_acl: Avoid defining static variable in header file 2020-03-27 15:06:43 -07:00
core_env.c mlxsw: core: Extend QSFP EEPROM size for ethtool 2019-10-22 10:30:41 -07:00
core_env.h mlxsw: core: Move ethtool module callbacks to a common location 2019-03-03 22:23:00 -08:00
core_hwmon.c mlxsw: core: Add validation of hardware device types for MGPIR register 2020-02-07 18:47:01 +01:00
core_thermal.c mlxsw: core: Add validation of hardware device types for MGPIR register 2020-02-07 18:47:01 +01:00
emad.h mlxsw: core: Add EMAD string TLV 2019-11-12 10:54:02 -08:00
i2c.c mlxsw: i2c: Add missing field documentation 2020-03-27 15:06:43 -07:00
i2c.h
ib.h
item.h
minimal.c mlxsw: minimal: Fix an error handling path in 'mlxsw_m_port_create()' 2020-01-27 11:13:53 +01:00
pci.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-25 18:58:11 -07:00
pci.h mlxsw: spectrum: Extend to support Spectrum-3 ASIC 2019-08-08 22:27:09 -07:00
pci_hw.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-02-27 18:31:39 -08:00
port.h mlxsw: spectrum: Use PMTM register to get max module width 2019-10-31 10:54:46 -07:00
reg.h mlxsw: spectrum_trap: Switch to use correct packet trap group 2020-03-30 17:54:59 -07:00
resources.h mlxsw: spectrum_cnt: Query bank size from FW resources 2020-03-18 16:46:19 -07:00
spectrum.c mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload fails 2020-05-22 16:08:14 -07:00
spectrum.h mlxsw: spectrum_trap: Add support for setting of packet trap group parameters 2020-03-30 17:54:59 -07:00
spectrum1_acl_tcam.c mlxsw: spectrum_acl: Pass hints priv all the way to ERP code 2019-02-08 15:02:50 -08:00
spectrum1_kvdl.c mlxsw: Replace zero-length array with flexible-array member 2020-02-19 16:23:10 -08:00
spectrum1_mr_tcam.c
spectrum2_acl_tcam.c mlxsw: Fix some IS_ERR() vs NULL bugs 2020-04-23 12:34:43 -07:00
spectrum2_kvdl.c mlxsw: Replace zero-length array with flexible-array member 2020-02-19 16:23:10 -08:00
spectrum2_mr_tcam.c mlxsw: spectrum_router: Add Multicast routing support for Spectrum-2 2018-12-11 23:01:33 -08:00
spectrum_acl.c mlxsw: Fix some IS_ERR() vs NULL bugs 2020-04-23 12:34:43 -07:00
spectrum_acl_atcam.c mlxsw: spectrum_acl: Pass hints priv all the way to ERP code 2019-02-08 15:02:50 -08:00
spectrum_acl_bloom_filter.c mlxsw: Replace zero-length array with flexible-array member 2020-02-19 16:23:10 -08:00
spectrum_acl_ctcam.c mlxsw: spectrum_acl: Remove unnecessary arg on action_replace call path 2019-01-28 10:43:15 -08:00
spectrum_acl_erp.c mlxsw: spectrum_acl: Avoid warning after identical rules insertion 2019-05-30 12:30:47 -07:00
spectrum_acl_flex_actions.c
spectrum_acl_flex_actions.h
spectrum_acl_flex_keys.c mlxsw: spectrum_acl: Fix SRC_SYS_PORT element size 2019-06-19 10:09:22 -04:00
spectrum_acl_tcam.c mlxsw: spectrum_acl_tcam: Position vchunk in a vregion list properly 2020-04-30 20:41:14 -07:00
spectrum_acl_tcam.h mlxsw: Replace zero-length array with flexible-array member 2020-02-19 16:23:10 -08:00
spectrum_buffers.c mlxsw: Fix 64-bit division in mlxsw_sp_sb_prs_init 2019-10-31 13:55:34 -07:00
spectrum_cnt.c mlxsw: spectrum_cnt: Fix 64-bit division in mlxsw_sp_counter_resources_register 2020-03-23 20:57:16 -07:00
spectrum_cnt.h mlxsw: spectrum_cnt: Expose subpool sizes over devlink resources 2020-03-18 16:46:19 -07:00
spectrum_dcb.c mlxsw: spectrum: Configure shaper rate and burst size together 2020-01-25 10:56:31 +01:00
spectrum_dpipe.c mlxsw: spectrum: Remove RTNL where possible 2020-02-22 21:24:51 -08:00
spectrum_dpipe.h mlxsw: spectrum: Assume CONFIG_NET_DEVLINK is always enabled 2019-04-19 15:03:55 -07:00
spectrum_fid.c mlxsw: spectrum: Remove unused RIF and FID families 2020-03-27 15:06:43 -07:00
spectrum_flower.c net: flow_offload: skip hw stats check for FLOW_ACTION_HW_STATS_DONT_CARE 2020-05-06 20:13:10 -07:00
spectrum_ipip.c mlxsw: Add ECN configurations with IPinIP tunnels 2020-01-19 16:23:52 +01:00
spectrum_ipip.h
spectrum_kvdl.c mlxsw: spectrum_kvdl: Protect allocations with a lock 2020-02-20 10:04:33 -08:00
spectrum_mr.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2020-03-29 21:25:29 -07:00
spectrum_mr.h
spectrum_mr_tcam.c mlxsw: Fix some IS_ERR() vs NULL bugs 2020-04-23 12:34:43 -07:00
spectrum_mr_tcam.h
spectrum_nve.c mlxsw: spectrum_router: Store NVE decapsulation configuration in router 2020-02-22 21:24:51 -08:00
spectrum_nve.h mlxsw: spectrum_ptp: Increase parsing depth when PTP is enabled 2019-07-29 13:55:05 -07:00
spectrum_nve_vxlan.c mlxsw: spectrum_ptp: Increase parsing depth when PTP is enabled 2019-07-29 13:55:05 -07:00
spectrum_ptp.c mlxsw: spectrum_ptp: Fix build warnings 2020-03-30 11:20:33 -07:00
spectrum_ptp.h mlxsw: spectrum_ptp: Add counters for GC events 2019-08-28 18:24:04 -07:00
spectrum_qdisc.c mlxsw: spectrum_qdisc: Offload RED ECN nodrop mode 2020-03-14 21:03:46 -07:00
spectrum_router.c mlxsw: spectrum_router: Avoid uninitialized symbol errors 2020-03-27 15:06:43 -07:00
spectrum_router.h mlxsw: spectrum_router: Introduce router lock 2020-02-22 21:24:51 -08:00
spectrum_span.c mlxsw: spectrum_span: Only update mirroring agents if present 2020-02-20 10:04:34 -08:00
spectrum_span.h spectrum: Add a delayed work to update SPAN buffsize according to speed 2020-01-20 13:25:46 +01:00
spectrum_switchdev.c mlxsw: spectrum_switchdev: Optimize SFN records processing 2020-02-26 20:44:42 -08:00
spectrum_switchdev.h
spectrum_trap.c mlxsw: spectrum_trap: fix unintention integer overflow on left shift 2020-04-02 18:00:01 -07:00
spectrum_trap.h mlxsw: spectrum_trap: Add devlink-trap policer support 2020-03-30 17:54:59 -07:00
switchib.c mlxsw: Propagate extack down to register_fib_notifier() 2019-10-04 11:10:56 -07:00
switchx2.c mlxsw: spectrum: Fix use-after-free of split/unsplit/type_set in case reload fails 2020-05-22 16:08:14 -07:00
trap.h mlxsw: acl_flex_actions: Trap all ACL dropped packets to DISCARD_*_ACL traps 2020-02-24 11:55:07 -08:00
txheader.h