ipvs: add __aquire/__release annotations to ip_vs_info_seq_start/ip_vs_info_seq_stop

This teaches sparse that the following are not problems:

make C=1
  CHECK   net/ipv4/ipvs/ip_vs_ctl.c
net/ipv4/ipvs/ip_vs_ctl.c:1793:14: warning: context imbalance in 'ip_vs_info_seq_start' - wrong count at exit
net/ipv4/ipvs/ip_vs_ctl.c:1842:13: warning: context imbalance in 'ip_vs_info_seq_stop' - unexpected unlock

Acked-by: Sven Wegener <sven.wegener@stealer.net>
Acked-by: Julius Volz <juliusv@google.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
This commit is contained in:
Simon Horman 2008-09-17 10:10:42 +10:00
parent dff630ddad
commit 563e94f072

View file

@ -1787,6 +1787,7 @@ static struct ip_vs_service *ip_vs_info_array(struct seq_file *seq, loff_t pos)
} }
static void *ip_vs_info_seq_start(struct seq_file *seq, loff_t *pos) static void *ip_vs_info_seq_start(struct seq_file *seq, loff_t *pos)
__acquires(__ip_vs_svc_lock)
{ {
read_lock_bh(&__ip_vs_svc_lock); read_lock_bh(&__ip_vs_svc_lock);
@ -1840,6 +1841,7 @@ static void *ip_vs_info_seq_next(struct seq_file *seq, void *v, loff_t *pos)
} }
static void ip_vs_info_seq_stop(struct seq_file *seq, void *v) static void ip_vs_info_seq_stop(struct seq_file *seq, void *v)
__releases(__ip_vs_svc_lock)
{ {
read_unlock_bh(&__ip_vs_svc_lock); read_unlock_bh(&__ip_vs_svc_lock);
} }