On Wed, Mar 26, 2008 at 07:35:38PM +0100, Jarek Poplawski wrote: ...Bernard, I fucked it up with this #3: (changed macro to function at the last minute). I'm currently reading this, and maybe I'll figure out something, but if it's not a big problem for you to repeat this after adding this #4 (after all previous) it should be 'a bit' easier. (But no need to hurry.) Very sorry, Jarek P. (debugging patch #4) --- diff -Nurp 2.6.24.3-with3/include/net/sock.h 2.6.24.3-with4/include/net/sock.h --- 2.6.24.3-with3/include/net/sock.h 2008-03-26 19:10:33.000000000 +0100 +++ 2.6.24.3-with4/include/net/sock.h 2008-03-28 12:42:19.000000000 +0100 @@ -1414,20 +1414,18 @@ extern int sysctl_optmem_max; extern __u32 sysctl_wmem_default; extern __u32 sysctl_rmem_default; -static inline int sock_debug_ax25(struct sk_buff *skb, struct sock *ax25_sk) -{ - struct sock *sk = skb->sk; - - if (sk && sk->sk_socket && sk->sk_socket->sk != sk) { - if (net_ratelimit()) - printk(KERN_INFO "AX25: %s, %d, %p, %p, %p, %p, %p\n", - __FUNCTION__, __LINE__, sk, sk->sk_socket, - sk->sk_socket->sk, ax25_sk, - ax25_sk == NULL ? NULL : ax25_sk->sk_socket); - skb->destructor = NULL; - return 1; - } - return 0; -} +#define sock_debug_ax25(__skb, __ax25_sk) \ +({ \ + struct sock *__sk = __skb->sk; \ + \ + if (__sk && __sk->sk_socket && __sk->sk_socket->sk != __sk) { \ + if (net_ratelimit()) \ + printk(KERN_INFO "AX25: %s, %d, %p, %p, %p, %p, %p\n", \ + __FUNCTION__, __LINE__, __sk, __sk->sk_socket, \ + __sk->sk_socket->sk, __ax25_sk, \ + __ax25_sk == NULL ? NULL : __ax25_sk->sk_socket); \ + __skb->destructor = NULL; \ + } \ +}) #endif /* _SOCK_H */ diff -Nurp 2.6.24.3-with3/net/ax25/af_ax25.c 2.6.24.3-with4/net/ax25/af_ax25.c --- 2.6.24.3-with3/net/ax25/af_ax25.c 2008-03-26 18:52:54.000000000 +0100 +++ 2.6.24.3-with4/net/ax25/af_ax25.c 2008-03-28 12:50:35.000000000 +0100 @@ -866,6 +866,9 @@ static int ax25_create(struct net *net, ax25->sk = sk; + if (net_ratelimit()) + printk(KERN_INFO "AX25+ %s, %d, %p, %p\n", __FUNCTION__, __LINE__, sk, sock); + return 0; } @@ -939,6 +942,10 @@ struct sock *ax25_make_new(struct sock * sk->sk_ax25_debug = 1; ax25->sk = sk; + if (net_ratelimit()) + printk(KERN_INFO "AX25; %s, %d, %p, %p\n", + __FUNCTION__, __LINE__, sk, sk->sk_socket); + return sk; } -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Glauber de Oliveira Costa | [PATCH 08/79] [PATCH] use identify_boot_cpu |
| David Woodhouse | [PATCH v2] Stop pmac_zilog from abusing 8250's device numbers. |
| Greg Kroah-Hartman | [PATCH 002/196] Chinese: rephrase English introduction in HOWTO |
| Jeremy Fitzhardinge | [PATCH 30 of 31] xen: no need for domU to worry about MCE/MCA |
git: | |
| Gerrit Renker | [PATCH 03/37] dccp: List management for new feature negotiation |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | [GIT]: Networking |
| Frans Pop | svc: failed to register lockdv1 RPC service (errno 97). |
