diff options
Diffstat (limited to 'net/core/dst.c')
-rw-r--r-- | net/core/dst.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/core/dst.c b/net/core/dst.c index 917364f0d0be..76a617f6d60a 100644 --- a/net/core/dst.c +++ b/net/core/dst.c | |||
@@ -299,7 +299,9 @@ void dst_release(struct dst_entry *dst) | |||
299 | int newrefcnt; | 299 | int newrefcnt; |
300 | 300 | ||
301 | newrefcnt = atomic_dec_return(&dst->__refcnt); | 301 | newrefcnt = atomic_dec_return(&dst->__refcnt); |
302 | WARN_ON(newrefcnt < 0); | 302 | if (unlikely(newrefcnt < 0)) |
303 | net_warn_ratelimited("%s: dst:%p refcnt:%d\n", | ||
304 | __func__, dst, newrefcnt); | ||
303 | if (unlikely(dst->flags & DST_NOCACHE) && !newrefcnt) | 305 | if (unlikely(dst->flags & DST_NOCACHE) && !newrefcnt) |
304 | call_rcu(&dst->rcu_head, dst_destroy_rcu); | 306 | call_rcu(&dst->rcu_head, dst_destroy_rcu); |
305 | } | 307 | } |