inet fragments: fix sparse warning: context imbalance
authorHannes Eder <hannes@hanneseder.net>
Wed, 25 Feb 2009 10:32:52 +0000 (10:32 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Feb 2009 07:13:35 +0000 (23:13 -0800)
Impact: Attribute function with __releases(...)

Fix this sparse warning:
  net/ipv4/inet_fragment.c:276:35: warning: context imbalance in 'inet_frag_find' - unexpected unlock

Signed-off-by: Hannes Eder <hannes@hanneseder.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/inet_frag.h
net/ipv4/inet_fragment.c

index e081eef..39f2dc9 100644 (file)
@@ -61,7 +61,8 @@ void inet_frag_destroy(struct inet_frag_queue *q,
                                struct inet_frags *f, int *work);
 int inet_frag_evictor(struct netns_frags *nf, struct inet_frags *f);
 struct inet_frag_queue *inet_frag_find(struct netns_frags *nf,
-               struct inet_frags *f, void *key, unsigned int hash);
+               struct inet_frags *f, void *key, unsigned int hash)
+       __releases(&f->lock);
 
 static inline void inet_frag_put(struct inet_frag_queue *q, struct inet_frags *f)
 {
index 6c52e08..eaf3e2c 100644 (file)
@@ -267,6 +267,7 @@ static struct inet_frag_queue *inet_frag_create(struct netns_frags *nf,
 
 struct inet_frag_queue *inet_frag_find(struct netns_frags *nf,
                struct inet_frags *f, void *key, unsigned int hash)
+       __releases(&f->lock)
 {
        struct inet_frag_queue *q;
        struct hlist_node *n;