diff options
author | Jakub Kicinski | 2018-11-28 07:24:55 +0100 |
---|---|---|
committer | David S. Miller | 2018-11-30 22:30:44 +0100 |
commit | 71844fac1ed459024dd2a448d63d5b28b8c87daa (patch) | |
tree | 757e7f01f2fb237833ee6f9e92e33bd2c71db51d /drivers/net/ethernet/netronome/nfp/nfp_net_repr.c | |
parent | nfp: run don't require Qdiscs on representor netdevs (diff) | |
download | kernel-qcow2-linux-71844fac1ed459024dd2a448d63d5b28b8c87daa.tar.gz kernel-qcow2-linux-71844fac1ed459024dd2a448d63d5b28b8c87daa.tar.xz kernel-qcow2-linux-71844fac1ed459024dd2a448d63d5b28b8c87daa.zip |
nfp: add locking around representor changes
Up until now we never needed to keep a networking locks around
representors accesses, we only accessed them when device was
reconfigured (under nfp pf->lock) or on fast path (under RCU).
Now we want to be able to iterate over all representors during
notifications, so make sure representor assignment is done
under RTNL lock.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: John Hurley <john.hurley@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/netronome/nfp/nfp_net_repr.c')
-rw-r--r-- | drivers/net/ethernet/netronome/nfp/nfp_net_repr.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c index b9904f6b41f8..0a1d761c6692 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c @@ -445,7 +445,9 @@ int nfp_reprs_resync_phys_ports(struct nfp_app *app) continue; nfp_app_repr_preclean(app, netdev); + rtnl_lock(); rcu_assign_pointer(reprs->reprs[i], NULL); + rtnl_unlock(); synchronize_rcu(); nfp_repr_clean(repr); } |