Message ID | 3eef25d5e0b41aa3429ba31f87264c17e75de9e6.1520500821.git.pabeni@redhat.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | [net-next] ipvlan: properly annotate rx_handler access | expand |
From: Paolo Abeni <pabeni@redhat.com> Date: Thu, 8 Mar 2018 10:29:30 +0100 > 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> Applied.
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 */
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> --- drivers/net/ipvlan/ipvlan.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)