This patch fixes the following sparse warning about mismatch rcu
attribute for address space annotation:
...
error: incompatible types in comparison expression (different modifiers)
error: incompatible types in comparison expression (different address spaces)
...
Some __rcu annotation was at non-pointers list head structures and one was
missing in edge information which is used by rcu_assign_pointer() to
update edge setting information.
Cc: Stefan Schmidt <stefan@datenfreihafen.org>
Fixes: f25da51fdc38 ("ieee802154: hwsim: add replacement for fakelb")
Signed-off-by: Alexander Aring <aring@mojatatu.com>
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
static LIST_HEAD(hwsim_phys);
static DEFINE_MUTEX(hwsim_phys_lock);
-static __rcu LIST_HEAD(hwsim_ifup_phys);
+static LIST_HEAD(hwsim_ifup_phys);
static struct platform_device *mac802154hwsim_dev;
struct hwsim_edge {
struct hwsim_phy *endpoint;
- struct hwsim_edge_info *info;
+ struct hwsim_edge_info __rcu *info;
struct list_head list;
struct rcu_head rcu;
struct hwsim_pib __rcu *pib;
bool suspended;
- struct list_head __rcu edges;
+ struct list_head edges;
struct list_head list;
struct list_head list_ifup;