1
0
Fork 0
alistair23-linux/drivers/net/ethernet/mellanox/mlxsw
Jiri Pirko b7265a0df8 mlxsw: core: Unpublish devlink parameters during reload
The devlink parameter "acl_region_rehash_interval" is a runtime
parameter whose value is stored in a dynamically allocated memory. While
reloading the driver, this memory is freed and then allocated again. A
use-after-free might happen if during this time frame someone tries to
retrieve its value.

Since commit 070c63f20f ("net: devlink: allow to change namespaces
during reload") the use-after-free can be reliably triggered when
reloading the driver into a namespace, as after freeing the memory (via
reload_down() callback) all the parameters are notified.

Fix this by unpublishing and then re-publishing the parameters during
reload.

Fixes: 98bbf70c1c ("mlxsw: spectrum: add "acl_region_rehash_interval" devlink param")
Fixes: 7c62cfb8c5 ("devlink: publish params only after driver init is done")
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>
2019-10-30 12:02:52 -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: core: Unpublish devlink parameters during reload 2019-10-30 12:02:52 -07:00
core.h mlxsw: spectrum: Register CPU port with devlink 2019-09-16 22:07:59 +02:00
core_acl_flex_actions.c mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
core_acl_flex_actions.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
core_acl_flex_keys.c mlxsw: spectrum_acl: Avoid size check for RX_ACL_SYSTEM_PORT element 2019-06-19 10:09:22 -04:00
core_acl_flex_keys.h mlxsw: spectrum_acl: Fix SRC_SYS_PORT element size 2019-06-19 10:09:22 -04:00
core_env.c mlxsw: core: Reduce buffer size in transactions for SFP modules temperature readout 2019-05-30 12:59:46 -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 support for negative temperature readout 2019-06-24 08:15:42 -07:00
core_thermal.c mlxsw: core: Add support for negative temperature readout 2019-06-24 08:15:42 -07:00
emad.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
i2c.c mlxsw: i2c: Allow flexible setting of I2C transactions size 2019-05-30 12:59:46 -07:00
i2c.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
ib.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
item.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
minimal.c mlxsw: i2c: Extend initialization with querying firmware info 2019-05-30 12:59:46 -07:00
pci.c ethernet: remove redundant memset 2019-07-15 11:06:27 -07:00
pci.h mlxsw: spectrum: Extend to support Spectrum-3 ASIC 2019-08-08 22:27:09 -07:00
pci_hw.h mlxsw: pci: Query free running clock PCI BAR and offsets 2019-06-13 22:34:55 -07:00
port.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
reg.h mlxsw: Remove 56G speed support 2019-08-28 18:24:04 -07:00
resources.h mlxsw: resources: Add local_ports_in_{1x, 2x} 2019-05-04 01:21:36 -04:00
spectrum.c mlxsw: spectrum: Clear VLAN filters during port initialization 2019-09-27 20:33:19 +02:00
spectrum.h mlxsw: spectrum_ptp: Add counters for GC events 2019-08-28 18:24:04 -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 license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum1_mr_tcam.c mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum2_acl_tcam.c mlxsw: spectrum_acl: Pass hints priv all the way to ERP code 2019-02-08 15:02:50 -08:00
spectrum2_kvdl.c mlxsw: spectrum: Add a new type of KVD linear record 2018-10-11 10:08:22 -07: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 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-19 11:54:03 -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: spectrum_acl: Introduce mutex to guard Bloom Filter updates 2019-02-24 20:25:29 -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 mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum_acl_flex_actions.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
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: Rename rehash_dis trace 2019-03-31 11:01:23 -07:00
spectrum_acl_tcam.h mlxsw: spectrum_acl: Don't take rtnl lock during vregion_rehash_intrvl_set() 2019-02-24 20:25:29 -08:00
spectrum_buffers.c mlxsw: spectrum_buffers: Add the ability to query the CPU port's shared buffer 2019-09-16 22:07:59 +02:00
spectrum_cnt.c mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum_cnt.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum_dcb.c mlxsw: spectrum_dcb: Configure DSCP map as the last rule is removed 2019-07-17 15:19:46 -07:00
spectrum_dpipe.c mlxsw: spectrum_router: Support RIF without device 2019-01-20 11:12:57 -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: Do not process learned records with a dummy FID 2019-07-17 15:19:46 -07:00
spectrum_flower.c mlxsw: spectrum_flower: Fail in case user specifies multiple mirror actions 2019-09-27 20:33:19 +02:00
spectrum_ipip.c mlxsw: spectrum_router: Update tunnel decap properties 2019-01-20 11:12:58 -08:00
spectrum_ipip.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum_kvdl.c mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum_mr.c mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum_mr.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum_mr_tcam.c mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum_mr_tcam.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum_nve.c mlxsw: spectrum_ptp: Increase parsing depth when PTP is enabled 2019-07-29 13:55:05 -07: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: Add counters for GC events 2019-08-28 18:24:04 -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: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum_router.c mlxsw: spectrum_router: Increase scale of IPv6 nexthop groups 2019-07-25 11:36:19 -07:00
spectrum_router.h mlxsw: spectrum_router: Update tunnel decap properties 2019-01-20 11:12:58 -08:00
spectrum_span.c ipv4: Add support to rtable for ipv6 gateway 2019-04-08 15:22:40 -07:00
spectrum_span.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum_switchdev.c mlxsw: spectrum: Do not process learned records with a dummy FID 2019-07-17 15:19:46 -07:00
spectrum_switchdev.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00
spectrum_trap.c mlxsw: spectrum_trap: Push Ethernet header before reporting trap 2019-10-18 10:15:09 -07:00
switchib.c mlxsw: switch_ib: Pass valid HW id down to mlxsw_core_port_init() 2019-04-04 17:42:36 -07:00
switchx2.c mlxsw: Remove 56G speed support 2019-08-28 18:24:04 -07:00
trap.h mlxsw: Add layer 2 discard trap IDs 2019-08-21 12:58:39 -07:00
txheader.h mlxsw: Replace license text with SPDX identifiers and adjust copyrights 2018-08-09 10:36:10 -07:00