diff options
author | stephen hemminger <stephen@networkplumber.org> | 2013-08-05 04:19:38 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-08-05 05:41:52 +0400 |
commit | 762a3d89ebf5873f71b3839449ac6562049ef1ce (patch) | |
tree | b5a7874456d199ac69492ca3be6a4cb638ce73f7 | |
parent | f27070158d6754765f2f5fd1617e8e42a0ea2318 (diff) | |
download | linux-762a3d89ebf5873f71b3839449ac6562049ef1ce.tar.xz |
bridge: fix rcu check warning in multicast port group
Use of RCU here with out marked pointer and function doesn't match prototype
with sparse.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/bridge/br_mdb.c | 3 | ||||
-rw-r--r-- | net/bridge/br_private.h | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/net/bridge/br_mdb.c b/net/bridge/br_mdb.c index 0daae3ec2355..e4d5cd43b7fb 100644 --- a/net/bridge/br_mdb.c +++ b/net/bridge/br_mdb.c @@ -61,7 +61,8 @@ static int br_mdb_fill_info(struct sk_buff *skb, struct netlink_callback *cb, for (i = 0; i < mdb->max; i++) { struct net_bridge_mdb_entry *mp; - struct net_bridge_port_group *p, **pp; + struct net_bridge_port_group *p; + struct net_bridge_port_group __rcu **pp; struct net_bridge_port *port; hlist_for_each_entry_rcu(mp, &mdb->mhash[i], hlist[mdb->ver]) { diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h index 1514c9f4f102..d41283c57952 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h @@ -466,7 +466,7 @@ extern void br_multicast_free_pg(struct rcu_head *head); extern struct net_bridge_port_group *br_multicast_new_port_group( struct net_bridge_port *port, struct br_ip *group, - struct net_bridge_port_group *next, + struct net_bridge_port_group __rcu *next, unsigned char state); extern void br_mdb_init(void); extern void br_mdb_uninit(void); |