[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: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
98f245e797
Коммит
9c2b3328f7
|
@ -83,12 +83,6 @@
|
|||
* 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;
|
||||
|
||||
#ifdef CONFIG_NETFILTER
|
||||
|
|
|
@ -276,20 +276,14 @@ void kfree_skbmem(struct sk_buff *skb)
|
|||
|
||||
void __kfree_skb(struct sk_buff *skb)
|
||||
{
|
||||
if (skb->list) {
|
||||
printk(KERN_WARNING "Warning: kfree_skb passed an skb still "
|
||||
"on a list (from %p).\n", NET_CALLER(skb));
|
||||
BUG();
|
||||
}
|
||||
BUG_ON(skb->list != NULL);
|
||||
|
||||
dst_release(skb->dst);
|
||||
#ifdef CONFIG_XFRM
|
||||
secpath_put(skb->sp);
|
||||
#endif
|
||||
if(skb->destructor) {
|
||||
if (in_irq())
|
||||
printk(KERN_WARNING "Warning: kfree_skb on "
|
||||
"hard IRQ %p\n", NET_CALLER(skb));
|
||||
if (skb->destructor) {
|
||||
WARN_ON(in_irq());
|
||||
skb->destructor(skb);
|
||||
}
|
||||
#ifdef CONFIG_NETFILTER
|
||||
|
|
|
@ -1048,7 +1048,8 @@ void __ip_select_ident(struct iphdr *iph, struct dst_entry *dst, int more)
|
|||
return;
|
||||
}
|
||||
} 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);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче