diff options
author | WANG Cong <xiyou.wangcong@gmail.com> | 2017-07-12 15:56:41 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-07-14 08:16:59 -0700 |
commit | 230cd1279d0019d52f9529c7d91c96d095cae755 (patch) | |
tree | 9b68a605129c05297400fbb03befc95532454fc8 /net | |
parent | 2b02c20ce0c28974b44e69a2e2f5ddc6a470ad6f (diff) | |
download | linux-230cd1279d0019d52f9529c7d91c96d095cae755.tar.gz linux-230cd1279d0019d52f9529c7d91c96d095cae755.tar.bz2 linux-230cd1279d0019d52f9529c7d91c96d095cae755.zip |
netpoll: shut up a kernel warning on refcount
When we convert atomic_t to refcount_t, a new kernel warning
on "increment on 0" is introduced in the netpoll code,
zap_completion_queue(). In fact for this special case, we know
the refcount is 0 and we just have to set it to 1 to satisfy
the following dev_kfree_skb_any(), so we can just use
refcount_set(..., 1) instead.
Fixes: 633547973ffc ("net: convert sk_buff.users from atomic_t to refcount_t")
Reported-by: Dave Jones <davej@codemonkey.org.uk>
Cc: Reshetova, Elena <elena.reshetova@intel.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/core/netpoll.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/netpoll.c b/net/core/netpoll.c index d3408a693166..8357f164c660 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c @@ -277,7 +277,7 @@ static void zap_completion_queue(void) struct sk_buff *skb = clist; clist = clist->next; if (!skb_irq_freeable(skb)) { - refcount_inc(&skb->users); + refcount_set(&skb->users, 1); dev_kfree_skb_any(skb); /* put this one back */ } else { __kfree_skb(skb); |