mlxsw: core: Add missing rollback in error path
authorIdo Schimmel <idosch@mellanox.com>
Mon, 28 Nov 2016 17:01:25 +0000 (18:01 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 30 Nov 2016 01:48:51 +0000 (20:48 -0500)
commit81d4d7289a6b8120d118f46c5182dbb86dca8436
treed6e84fa7f256986cecafc3fa5a1c891ca195c72d
parent87259f18778cce3fe3b141c5f56a3e64e5ffa5a9
mlxsw: core: Add missing rollback in error path

Without this rollback, the thermal zone is still registered during the
error path, whereas its private data is freed upon the destruction of
the underlying bus device due to the use of devm_kzalloc(). This results
in use after free.

Fix this by calling mlxsw_thermal_fini() from the appropriate place in
the error path.

Fixes: a50c1e35650b ("mlxsw: core: Implement thermal zone")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/core.c