ieee802154: hwsim: fix rcu address annotation
authorAlexander Aring <aring@mojatatu.com>
Tue, 7 Aug 2018 14:34:44 +0000 (10:34 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Aug 2018 16:09:27 +0000 (09:09 -0700)
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>
drivers/net/ieee802154/mac802154_hwsim.c

index 1982308b9b1cfc50b1ebf370ef7fd2158e35a7c1..f4e92054f7df87ceef6bd5ab97c7fc4c152b2639 100644 (file)
@@ -36,7 +36,7 @@ MODULE_LICENSE("GPL");
 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;
 
@@ -68,7 +68,7 @@ struct hwsim_edge_info {
 
 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;
@@ -81,7 +81,7 @@ struct hwsim_phy {
        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;