devlink: Protect rate list with lock while switching modes
authorDmytro Linkin <dlinkin@nvidia.com>
Wed, 23 Jun 2021 13:43:15 +0000 (16:43 +0300)
committerDavid S. Miller <davem@davemloft.net>
Wed, 23 Jun 2021 22:46:25 +0000 (15:46 -0700)
commita3e5e5797faad0db319d106afaa31b9020fac44f
tree97d736059ad5dd500ad2c0ab91f99b30c5355243
parentff99324ded0176d28c3d8de7cac44580cf79d52a
devlink: Protect rate list with lock while switching modes

Devlink eswitch set command doesn't hold devlink->lock, which makes
possible race condition between rate list traversing and others devlink
rate KAPI calls, like devlink_rate_nodes_destroy().
Hold devlink lock while traversing the list.

Fixes: a8ecb93ef03d ("devlink: Introduce rate nodes")
Signed-off-by: Dmytro Linkin <dlinkin@nvidia.com>
Reviewed-by: Parav Pandit <parav@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/devlink.c