summaryrefslogtreecommitdiffstats
path: root/net/netlink/af_netlink.c
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2014-08-13 16:38:32 +0200
committerDavid S. Miller <davem@davemloft.net>2014-08-15 00:13:40 +0200
commit9ce12eb16ffb143f3a509da86283ddd0b10bcdb3 (patch)
treec7a478ce8b7854149a2d2647fdc820622b5becf5 /net/netlink/af_netlink.c
parentrhashtable: fix annotations for rht_for_each_entry_rcu() (diff)
downloadlinux-9ce12eb16ffb143f3a509da86283ddd0b10bcdb3.tar.xz
linux-9ce12eb16ffb143f3a509da86283ddd0b10bcdb3.zip
netlink: Annotate RCU locking for seq_file walker
Silences the following sparse warnings: net/netlink/af_netlink.c:2926:21: warning: context imbalance in 'netlink_seq_start' - wrong count at exit net/netlink/af_netlink.c:2972:13: warning: context imbalance in 'netlink_seq_stop' - unexpected unlock Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netlink/af_netlink.c')
-rw-r--r--net/netlink/af_netlink.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 2e152e5f2186..c416725d28c4 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -2921,6 +2921,7 @@ static struct sock *netlink_seq_socket_idx(struct seq_file *seq, loff_t pos)
}
static void *netlink_seq_start(struct seq_file *seq, loff_t *pos)
+ __acquires(RCU)
{
rcu_read_lock();
return *pos ? netlink_seq_socket_idx(seq, *pos - 1) : SEQ_START_TOKEN;
@@ -2970,6 +2971,7 @@ static void *netlink_seq_next(struct seq_file *seq, void *v, loff_t *pos)
}
static void netlink_seq_stop(struct seq_file *seq, void *v)
+ __releases(RCU)
{
rcu_read_unlock();
}