linux/drivers/net
Ido Schimmel 9b3bc7db75 mlxsw: core: Fix use-after-free when flashing firmware during init
When the switch driver (e.g., mlxsw_spectrum) determines it needs to
flash a new firmware version it resets the ASIC after the flashing
process. The bus driver (e.g., mlxsw_pci) then registers itself again
with mlxsw_core which means (among other things) that the device
registers itself again with the hwmon subsystem again.

Since the device was registered with the hwmon subsystem using
devm_hwmon_device_register_with_groups(), then the old hwmon device
(registered before the flashing) was never unregistered and was
referencing stale data, resulting in a use-after free.

Fix by removing reliance on device managed APIs in mlxsw_hwmon_init().

Fixes: c86d62cc41 ("mlxsw: spectrum: Reset FW after flash")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reported-by: Alexander Petrovskiy <alexpe@mellanox.com>
Tested-by: Alexander Petrovskiy <alexpe@mellanox.com>
Reviewed-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-10-17 22:25:45 -07:00
..
appletalk net/appletalk: fix minor pointer leak to userspace in SIOCFINDIPDDPRT 2018-09-13 10:35:57 -07:00
arcnet
bonding bonding: fix warning message 2018-10-02 15:55:16 -07:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-08-15 15:04:25 -07:00
dsa net: dsa: bcm_sf2: Call setup during switch resume 2018-10-11 15:19:54 -07:00
ethernet mlxsw: core: Fix use-after-free when flashing firmware during init 2018-10-17 22:25:45 -07:00
fddi
fjes
hamradio yam: fix a missing-check bug 2018-10-05 11:54:55 -07:00
hippi
hyperv hv_netvsc: pair VF based on serial number 2018-09-17 07:59:41 -07:00
ieee802154 ieee802154: mcr20a: Replace magic number with constants 2018-09-27 17:22:48 +02:00
ipvlan
netdevsim
phy net: phy: sfp: remove sfp_mutex's definition 2018-10-11 12:10:06 -07:00
plip
ppp pppoe: fix reception of frames with no mac header 2018-09-17 07:50:26 -07:00
slip
team team: Forbid enslaving team device to itself 2018-10-04 13:55:40 -07:00
usb qmi_wwan: Added support for Gemalto's Cinterion ALASxx WWAN interface 2018-10-10 22:57:23 -07:00
vmxnet3
wan
wimax wimax/i2400m: fix spelling mistake "not unitialized" -> "uninitialized" 2018-09-26 20:09:58 -07:00
wireless MMC core: 2018-10-12 12:57:05 +02:00
xen-netback xen-netback: handle page straddling in xenvif_set_hash_mapping() 2018-09-25 10:39:34 -07:00
dummy.c
eql.c
geneve.c geneve, vxlan: Don't set exceptions if skb->len < mtu 2018-10-17 21:51:13 -07:00
gtp.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c
macvlan.c
macvtap.c
Makefile
mdio.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c tun: napi flags belong to tfile 2018-10-01 23:27:28 -07:00
veth.c veth: Orphan skb before GRO 2018-09-16 15:33:50 -07:00
virtio_net.c virtio_net: remove ndo_poll_controller 2018-09-28 11:12:29 -07:00
vrf.c
vsockmon.c
vxlan.c geneve, vxlan: Don't set exceptions if skb->len < mtu 2018-10-17 21:51:13 -07:00
xen-netfront.c xen/netfront: don't bug in case of too many frags 2018-09-13 08:22:15 -07:00