Commit 1eb38a0a authored by Hideaki Yoshifuji's avatar Hideaki Yoshifuji Committed by David S. Miller

[NET]: Save space for dst underflow message.

Save space for 'dst underflow' message.
Signed-off-by: default avatarHideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
Signed-off-by: default avatarDavid S. Miller <davem@redhat.com>
parent 5d8a2f01
...@@ -142,15 +142,14 @@ struct dst_entry * dst_clone(struct dst_entry * dst) ...@@ -142,15 +142,14 @@ struct dst_entry * dst_clone(struct dst_entry * dst)
return dst; return dst;
} }
extern const char dst_underflow_bug_msg[];
static inline static inline
void dst_release(struct dst_entry * dst) void dst_release(struct dst_entry * dst)
{ {
if (dst) { if (dst) {
if (atomic_read(&dst->__refcnt) < 1) { if (atomic_read(&dst->__refcnt) < 1)
printk("BUG: dst underflow %d: %p\n", printk(dst_underflow_bug_msg, dst, current_text_addr());
atomic_read(&dst->__refcnt),
current_text_addr());
}
atomic_dec(&dst->__refcnt); atomic_dec(&dst->__refcnt);
} }
} }
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
#include <net/dst.h> #include <net/dst.h>
const char dst_underflow_bug_msg[] = KERN_DEBUG "BUG: dst underflow %d: %p at %p\n";
/* Locking strategy: /* Locking strategy:
* 1) Garbage collection state of dead destination cache * 1) Garbage collection state of dead destination cache
* entries is protected by dst_lock. * entries is protected by dst_lock.
...@@ -273,6 +275,7 @@ void __init dst_init(void) ...@@ -273,6 +275,7 @@ void __init dst_init(void)
register_netdevice_notifier(&dst_dev_notifier); register_netdevice_notifier(&dst_dev_notifier);
} }
EXPORT_SYMBOL(dst_underflow_bug_msg);
EXPORT_SYMBOL(__dst_free); EXPORT_SYMBOL(__dst_free);
EXPORT_SYMBOL(dst_alloc); EXPORT_SYMBOL(dst_alloc);
EXPORT_SYMBOL(dst_destroy); EXPORT_SYMBOL(dst_destroy);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment