diff options
author | Thomas Graf <tgraf@suug.ch> | 2014-08-13 16:38:32 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-08-15 00:13:40 +0200 |
commit | 9ce12eb16ffb143f3a509da86283ddd0b10bcdb3 (patch) | |
tree | c7a478ce8b7854149a2d2647fdc820622b5becf5 | |
parent | rhashtable: fix annotations for rht_for_each_entry_rcu() (diff) | |
download | linux-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>
-rw-r--r-- | net/netlink/af_netlink.c | 2 |
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(); } |