patch-2.1.89 linux/net/netlink/af_netlink.c

Next file: linux/net/netlink/netlink_dev.c
Previous file: linux/net/ipx/af_ipx.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.88/linux/net/netlink/af_netlink.c linux/net/netlink/af_netlink.c
@@ -359,6 +359,7 @@
 
 #ifdef NL_EMULATE_DEV
 		if (sk->protinfo.af_netlink.handler) {
+			skb_orphan(skb);
 			len = sk->protinfo.af_netlink.handler(protocol, skb);
 			netlink_unlock(sk);
 			return len;
@@ -400,6 +401,7 @@
 {
 #ifdef NL_EMULATE_DEV
 	if (sk->protinfo.af_netlink.handler) {
+		skb_orphan(skb);
 		sk->protinfo.af_netlink.handler(sk->protocol, skb);
 		return 0;
 	} else
@@ -758,15 +760,12 @@
 int netlink_post(int unit, struct sk_buff *skb)
 {
 	if (netlink_kernel[unit]) {
+		memset(skb->cb, 0, sizeof(skb->cb));
 		netlink_broadcast(netlink_kernel[unit]->sk, skb, 0, ~0, GFP_ATOMIC);
 		return 0;
 	}
 	return -EUNATCH;;
 }
-
-EXPORT_SYMBOL(netlink_attach);
-EXPORT_SYMBOL(netlink_detach);
-EXPORT_SYMBOL(netlink_post);
 
 #endif
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov