提交 9c2b3328 编写于 作者: S Stephen Hemminger 提交者: David S. Miller

[NET]: skbuff: remove old NET_CALLER macro

Here is a revised alternative that uses BUG_ON/WARN_ON
(as suggested by Herbert Xu) to eliminate NET_CALLER.
Signed-off-by: NStephen Hemminger <shemminger@osdl.org>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 98f245e7
...@@ -83,12 +83,6 @@ ...@@ -83,12 +83,6 @@
* Any questions? No questions, good. --ANK * Any questions? No questions, good. --ANK
*/ */
#ifdef __i386__
#define NET_CALLER(arg) (*(((void **)&arg) - 1))
#else
#define NET_CALLER(arg) __builtin_return_address(0)
#endif
struct net_device; struct net_device;
#ifdef CONFIG_NETFILTER #ifdef CONFIG_NETFILTER
......
...@@ -276,20 +276,14 @@ void kfree_skbmem(struct sk_buff *skb) ...@@ -276,20 +276,14 @@ void kfree_skbmem(struct sk_buff *skb)
void __kfree_skb(struct sk_buff *skb) void __kfree_skb(struct sk_buff *skb)
{ {
if (skb->list) { BUG_ON(skb->list != NULL);
printk(KERN_WARNING "Warning: kfree_skb passed an skb still "
"on a list (from %p).\n", NET_CALLER(skb));
BUG();
}
dst_release(skb->dst); dst_release(skb->dst);
#ifdef CONFIG_XFRM #ifdef CONFIG_XFRM
secpath_put(skb->sp); secpath_put(skb->sp);
#endif #endif
if(skb->destructor) { if (skb->destructor) {
if (in_irq()) WARN_ON(in_irq());
printk(KERN_WARNING "Warning: kfree_skb on "
"hard IRQ %p\n", NET_CALLER(skb));
skb->destructor(skb); skb->destructor(skb);
} }
#ifdef CONFIG_NETFILTER #ifdef CONFIG_NETFILTER
......
...@@ -1048,7 +1048,8 @@ void __ip_select_ident(struct iphdr *iph, struct dst_entry *dst, int more) ...@@ -1048,7 +1048,8 @@ void __ip_select_ident(struct iphdr *iph, struct dst_entry *dst, int more)
return; return;
} }
} else } else
printk(KERN_DEBUG "rt_bind_peer(0) @%p\n", NET_CALLER(iph)); printk(KERN_DEBUG "rt_bind_peer(0) @%p\n",
__builtin_return_address(0));
ip_select_fb_ident(iph); ip_select_fb_ident(iph);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册