From: Paolo Abeni <pabeni@redhat.com>
Date: Thu, 8 Mar 2018 10:29:30 +0100
Subject: ipvlan: properly annotate rx_handler access
Patch-mainline: v4.17-rc1
Git-commit: ae5799dc7ec77fe0382d58cdcba9f6d1204157ae
References: bsc#1109837
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>
Acked-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
---
drivers/net/ipvlan/ipvlan.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/net/ipvlan/ipvlan.h
+++ b/drivers/net/ipvlan/ipvlan.h
@@ -148,7 +148,7 @@ int ipvlan_link_register(struct rtnl_lin
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 */