浏览代码

inet fragments: fix sparse warning: context imbalance

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>
Hannes Eder 16 年之前
父节点
当前提交
56bca31ff1
共有 2 个文件被更改,包括 3 次插入1 次删除
  1. 2 1
      include/net/inet_frag.h
  2. 1 0
      net/ipv4/inet_fragment.c

+ 2 - 1
include/net/inet_frag.h

@@ -61,7 +61,8 @@ void inet_frag_destroy(struct inet_frag_queue *q,
 				struct inet_frags *f, int *work);
 				struct inet_frags *f, int *work);
 int inet_frag_evictor(struct netns_frags *nf, struct inet_frags *f);
 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_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)
 static inline void inet_frag_put(struct inet_frag_queue *q, struct inet_frags *f)
 {
 {

+ 1 - 0
net/ipv4/inet_fragment.c

@@ -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_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)
 {
 {
 	struct inet_frag_queue *q;
 	struct inet_frag_queue *q;
 	struct hlist_node *n;
 	struct hlist_node *n;