linux/drivers/net/dsa
Vladimir Oltean 51a04ebf21 net: dsa: mv88e6xxx: fix use-after-free in mv88e6xxx_mdios_unregister
Since struct mv88e6xxx_mdio_bus *mdio_bus is the bus->priv of something
allocated with mdiobus_alloc_size(), this means that mdiobus_free(bus)
will free the memory backing the mdio_bus as well. Therefore, the
mdio_bus->list element is freed memory, but we continue to iterate
through the list of MDIO buses using that list element.

To fix this, use the proper list iterator that handles element deletion
by keeping a copy of the list element next pointer.

Fixes: f53a2ce893 ("net: dsa: mv88e6xxx: don't use devres for mdiobus")
Reported-by: Rafael Richter <rafael.richter@gin.de>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://lore.kernel.org/r/20220210174017.3271099-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2022-02-10 11:46:03 -08:00
..
b53 net: dsa: add a "tx_fwd_offload" argument to ->port_bridge_join 2021-12-08 14:31:16 -08:00
hirschmann net: dsa: hellcreek: Add missing PTP via UDP rules 2021-12-14 18:46:29 -08:00
microchip Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-31 14:35:40 +00:00
mv88e6xxx net: dsa: mv88e6xxx: fix use-after-free in mv88e6xxx_mdios_unregister 2022-02-10 11:46:03 -08:00
ocelot net: dsa: seville: register the mdiobus under devres 2022-02-08 20:30:35 -08:00
qca net: dsa: ar9331: register the mdiobus under devres 2022-02-08 20:30:34 -08:00
sja1105 flow_offload: add index to flow_action_entry structure 2021-12-19 14:08:47 +00:00
xrs700x net: Don't include filter.h from net/sock.h 2021-12-29 08:48:14 -08:00
bcm_sf2_cfp.c net: dsa: propagate extack to .port_vlan_add 2021-02-14 17:38:11 -08:00
bcm_sf2_regs.h net: dsa: bcm_sf2: refactor LED regs access 2021-12-30 17:28:32 -08:00
bcm_sf2.c net: dsa: bcm_sf2: don't use devres for mdiobus 2022-02-08 20:30:34 -08:00
bcm_sf2.h net: dsa: bcm_sf2: refactor LED regs access 2021-12-30 17:28:32 -08:00
dsa_loop_bdinfo.c
dsa_loop.c net: dsa: add a "tx_fwd_offload" argument to ->port_bridge_join 2021-12-08 14:31:16 -08:00
dsa_loop.h
Kconfig net: dsa: mt7530: make NET_DSA_MT7530 select MEDIATEK_GE_PHY 2022-01-31 21:18:17 -08:00
lan9303_i2c.c net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
lan9303_mdio.c net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
lan9303-core.c net: dsa: add a "tx_fwd_offload" argument to ->port_bridge_join 2021-12-08 14:31:16 -08:00
lan9303.h net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
lantiq_gswip.c net: dsa: lantiq_gswip: don't use devres for mdiobus 2022-02-08 20:30:36 -08:00
lantiq_pce.h
Makefile net: dsa: realtek-smi: add rtl8365mb subdriver for RTL8365MB-VC 2021-10-18 14:02:56 +01:00
mt7530.c net: dsa: mt7530: fix kernel bug in mdiobus_free() when unbinding 2022-02-08 20:30:35 -08:00
mt7530.h net: dsa: mt7530: manually set up VLAN ID 0 2021-08-25 11:09:31 +01:00
mv88e6060.c net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
mv88e6060.h
qca8k.c net: dsa: add a "tx_fwd_offload" argument to ->port_bridge_join 2021-12-08 14:31:16 -08:00
qca8k.h net: dsa: qca8k: add LAG support 2021-11-23 11:53:16 +00:00
realtek-smi-core.c net: dsa: realtek-smi: don't log an error on EPROBE_DEFER 2021-11-29 12:51:37 +00:00
realtek-smi-core.h net: dsa: realtek-smi: add rtl8365mb subdriver for RTL8365MB-VC 2021-10-18 14:02:56 +01:00
rtl8365mb.c net: dsa: rtl8365mb: add GMII as user port mode 2021-12-16 10:51:11 +00:00
rtl8366.c net: dsa: rtl8366: Drop and depromote pointless prints 2021-09-27 16:33:46 +01:00
rtl8366rb.c net: dsa: add a "tx_fwd_offload" argument to ->port_bridge_join 2021-12-08 14:31:16 -08:00
vitesse-vsc73xx-core.c net: dsa: vsc73xxx: Get rid of duplicate of_node assignment 2021-12-03 14:13:02 +00:00
vitesse-vsc73xx-platform.c net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
vitesse-vsc73xx-spi.c net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
vitesse-vsc73xx.h net: dsa: vsc73xxx: Make vsc73xx_remove() return void 2021-11-15 13:15:07 +00:00