aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4
diff options
context:
space:
mode:
authorEric Dumazet <dada1@cosmosbay.com>2008-01-02 00:58:02 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:00:31 -0500
commit9a429c4983deae020f1e757ecc8f547b6d4e2f2b (patch)
tree172e27a5866e182b902cd77506df1755aafadb60 /net/ipv4
parentb950dfcf504842a0f2bb142a33ef938f1c00d300 (diff)
[NET]: Add some acquires/releases sparse annotations.
Add __acquires() and __releases() annotations to suppress some sparse warnings. example of warnings : net/ipv4/udp.c:1555:14: warning: context imbalance in 'udp_seq_start' - wrong count at exit net/ipv4/udp.c:1571:13: warning: context imbalance in 'udp_seq_stop' - unexpected unlock Signed-off-by: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r--net/ipv4/fib_hash.c2
-rw-r--r--net/ipv4/inet_hashtables.c1
-rw-r--r--net/ipv4/udp.c2
3 files changed, 5 insertions, 0 deletions
diff --git a/net/ipv4/fib_hash.c b/net/ipv4/fib_hash.c
index 9d5404158476..ee1ffdb3044f 100644
--- a/net/ipv4/fib_hash.c
+++ b/net/ipv4/fib_hash.c
@@ -936,6 +936,7 @@ static struct fib_alias *fib_get_idx(struct seq_file *seq, loff_t pos)
936} 936}
937 937
938static void *fib_seq_start(struct seq_file *seq, loff_t *pos) 938static void *fib_seq_start(struct seq_file *seq, loff_t *pos)
939 __acquires(fib_hash_lock)
939{ 940{
940 void *v = NULL; 941 void *v = NULL;
941 942
@@ -952,6 +953,7 @@ static void *fib_seq_next(struct seq_file *seq, void *v, loff_t *pos)
952} 953}
953 954
954static void fib_seq_stop(struct seq_file *seq, void *v) 955static void fib_seq_stop(struct seq_file *seq, void *v)
956 __releases(fib_hash_lock)
955{ 957{
956 read_unlock(&fib_hash_lock); 958 read_unlock(&fib_hash_lock);
957} 959}
diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c
index 2e5814a84360..88a059e04e30 100644
--- a/net/ipv4/inet_hashtables.c
+++ b/net/ipv4/inet_hashtables.c
@@ -96,6 +96,7 @@ EXPORT_SYMBOL(inet_put_port);
96 * exclusive lock release). It should be ifdefed really. 96 * exclusive lock release). It should be ifdefed really.
97 */ 97 */
98void inet_listen_wlock(struct inet_hashinfo *hashinfo) 98void inet_listen_wlock(struct inet_hashinfo *hashinfo)
99 __acquires(hashinfo->lhash_lock)
99{ 100{
100 write_lock(&hashinfo->lhash_lock); 101 write_lock(&hashinfo->lhash_lock);
101 102
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index 353284360751..02fcccd0486e 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -1550,6 +1550,7 @@ static struct sock *udp_get_idx(struct seq_file *seq, loff_t pos)
1550} 1550}
1551 1551
1552static void *udp_seq_start(struct seq_file *seq, loff_t *pos) 1552static void *udp_seq_start(struct seq_file *seq, loff_t *pos)
1553 __acquires(udp_hash_lock)
1553{ 1554{
1554 read_lock(&udp_hash_lock); 1555 read_lock(&udp_hash_lock);
1555 return *pos ? udp_get_idx(seq, *pos-1) : (void *)1; 1556 return *pos ? udp_get_idx(seq, *pos-1) : (void *)1;
@@ -1569,6 +1570,7 @@ static void *udp_seq_next(struct seq_file *seq, void *v, loff_t *pos)
1569} 1570}
1570 1571
1571static void udp_seq_stop(struct seq_file *seq, void *v) 1572static void udp_seq_stop(struct seq_file *seq, void *v)
1573 __releases(udp_hash_lock)
1572{ 1574{
1573 read_unlock(&udp_hash_lock); 1575 read_unlock(&udp_hash_lock);
1574} 1576}