From: Florian Westphal <f...@strlen.de> Date: Wed, 29 May 2019 13:43:25 +0200
> Eric Dumazet reported follwing problem: > > It looks that unless RTNL is held, accessing ifa_list needs proper RCU > protection. indev->ifa_list can be changed under us by another cpu > (which owns RTNL) [..] > > A proper rcu_dereference() with an happy sparse support would require > adding __rcu attribute. > > This patch series does that: add __rcu to the ifa_list pointers. > That makes sparse complain, so the series also adds the required > rcu_assign_pointer/dereference helpers where needed. > > All patches except the last one are preparation work. > Two new macros are introduced for in_ifaddr walks. > > Last patch adds the __rcu annotations and the assign_pointer/dereference > helper calls. > > This patch is a bit large, but I found no better way -- other > approaches (annotate-first or add helpers-first) all result in > mid-series sparse warnings. ... Florian, this series looks fine to me. Please address David's feedback and respin. Thanks.