diff options
author | Jiri Pirko | 2019-10-30 11:04:22 +0200 |
---|---|---|
committer | David S. Miller | 2019-10-30 12:02:52 -0700 |
commit | b7265a0df82c1716bf788096217083ed65a8bb14 (patch) | |
tree | fae8e5df83fc59aac8e382d721d0a8f7c821ce42 /kernel/module.c | |
parent | c63b0968946b2d72178a92793bcc9439e19b385f (diff) |
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 070c63f20f6c ("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: 98bbf70c1c41 ("mlxsw: spectrum: add "acl_region_rehash_interval" devlink param")
Fixes: 7c62cfb8c574 ("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>
Diffstat (limited to 'kernel/module.c')
0 files changed, 0 insertions, 0 deletions