Thread (2 messages) flat view 2 messages, 2 authors, 2018-10-18

Re: [PATCH net] mlxsw: core: Fix use-after-free when flashing firmware during init

From: David Miller <davem@davemloft.net>
Date: 2018-10-18 13:26:43

From: Ido Schimmel <redacted>
Date: Wed, 17 Oct 2018 08:05:45 +0000
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: c86d62cc410c ("mlxsw: spectrum: Reset FW after flash")
Signed-off-by: Ido Schimmel <redacted>
Reported-by: Alexander Petrovskiy <redacted>
Tested-by: Alexander Petrovskiy <redacted>
Reviewed-by: Petr Machata <redacted>
Applied.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help