diff options
author | Paolo Abeni <pabeni@redhat.com> | 2018-03-08 10:29:30 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-08 17:12:43 +0100 |
commit | ae5799dc7ec77fe0382d58cdcba9f6d1204157ae (patch) | |
tree | 9191b39a36b22345ac9f291fad56f0836e7e27f6 | |
parent | ip6mr: remove synchronize_rcu() in favor of SOCK_RCU_FREE (diff) | |
download | linux-ae5799dc7ec77fe0382d58cdcba9f6d1204157ae.tar.xz linux-ae5799dc7ec77fe0382d58cdcba9f6d1204157ae.zip |
ipvlan: properly annotate rx_handler access
The rx_handler field is rcu-protected, but I forgot to use the
proper accessor while refactoring netif_is_ipvlan_port(). Such
function only check the rx_handler value, so it is safe, but we need
to properly read rx_handler via rcu_access_pointer() to avoid sparse
warnings.
Fixes: 1ec54cb44e67 ("net: unpollute priv_flags space")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ipvlan/ipvlan.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ipvlan/ipvlan.h b/drivers/net/ipvlan/ipvlan.h index c818b9bdab6e..adb826f55e60 100644 --- a/drivers/net/ipvlan/ipvlan.h +++ b/drivers/net/ipvlan/ipvlan.h @@ -180,7 +180,7 @@ int ipvlan_link_register(struct rtnl_link_ops *ops); static inline bool netif_is_ipvlan_port(const struct net_device *dev) { - return dev->rx_handler == ipvlan_handle_frame; + return rcu_access_pointer(dev->rx_handler) == ipvlan_handle_frame; } #endif /* __IPVLAN_H */ |