From: Jason A. Donenfeld Date: Tue, 24 Sep 2019 09:09:37 +0000 (+0200) Subject: net: print proper warning on dst underflow X-Git-Tag: v5.15~5389^2~45 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=adecda5bee0a05c11f1a4a4b16b01d11a832fd43;p=platform%2Fkernel%2Flinux-starfive.git net: print proper warning on dst underflow Proper warnings with stack traces make it much easier to figure out what's doing the double free and create more meaningful bug reports from users. Signed-off-by: Jason A. Donenfeld Signed-off-by: David S. Miller --- diff --git a/net/core/dst.c b/net/core/dst.c index 1325316..193af52 100644 --- a/net/core/dst.c +++ b/net/core/dst.c @@ -172,7 +172,7 @@ void dst_release(struct dst_entry *dst) int newrefcnt; newrefcnt = atomic_dec_return(&dst->__refcnt); - if (unlikely(newrefcnt < 0)) + if (WARN_ONCE(newrefcnt < 0, "dst_release underflow")) net_warn_ratelimited("%s: dst:%p refcnt:%d\n", __func__, dst, newrefcnt); if (!newrefcnt) @@ -187,7 +187,7 @@ void dst_release_immediate(struct dst_entry *dst) int newrefcnt; newrefcnt = atomic_dec_return(&dst->__refcnt); - if (unlikely(newrefcnt < 0)) + if (WARN_ONCE(newrefcnt < 0, "dst_release_immediate underflow")) net_warn_ratelimited("%s: dst:%p refcnt:%d\n", __func__, dst, newrefcnt); if (!newrefcnt)