PATCH: 2.1.86 *kfree* fixes

Chris Wedgwood (cw@ix.net.nz)
Thu, 12 Feb 1998 11:04:12 +1300


Fixes a few kfree_skb that were missed.

-Chris

diff -Nur /usr/src/linux/net/ipv4/devinet.c linux/net/ipv4/devinet.c
--- /usr/src/linux/net/ipv4/devinet.c Thu Feb 12 10:36:55 1998
+++ linux/net/ipv4/devinet.c Thu Feb 12 10:41:50 1998
@@ -784,7 +784,7 @@
return;
}
if (inet_fill_ifaddr(skb, ifa, 0, 0, event) < 0) {
- kfree_skb(skb);
+ kfree_skb(skb, 0);
netlink_set_err(rtnl, 0, RTMGRP_IPV4_IFADDR, EINVAL);
return;
}
diff -Nur /usr/src/linux/net/ipv4/fib_hash.c linux/net/ipv4/fib_hash.c
--- /usr/src/linux/net/ipv4/fib_hash.c Thu Feb 12 10:38:30 1998
+++ linux/net/ipv4/fib_hash.c Mon Dec 1 11:00:39 1997
@@ -715,7 +715,7 @@
if (fib_dump_info(skb, pid, n->nlmsg_seq, event, tb_id,
f->fn_type, f->fn_scope, &f->fn_key, z, f->fn_tos,
FIB_INFO(f)) < 0) {
- kfree_skb(skb);
+ kfree_skb(skb, 0);
return;
}
NETLINK_CB(skb).dst_groups = RTMGRP_IPV4_ROUTE;
diff -Nur /usr/src/linux/net/ipv6/addrconf.c linux/net/ipv6/addrconf.c
--- /usr/src/linux/net/ipv6/addrconf.c Thu Feb 12 10:49:49 1998
+++ linux/net/ipv6/addrconf.c Thu Feb 12 10:41:50 1998
@@ -1530,7 +1530,7 @@
return;
}
if (inet6_fill_ifaddr(skb, ifa, 0, 0, event) < 0) {
- kfree_skb(skb);
+ kfree_skb(skb, 0);
netlink_set_err(rtnl, 0, RTMGRP_IPV6_IFADDR, EINVAL);
return;
}
diff -Nur /usr/src/linux/net/ipv6/route.c linux/net/ipv6/route.c
--- /usr/src/linux/net/ipv6/route.c Thu Feb 12 10:50:43 1998
+++ linux/net/ipv6/route.c Thu Feb 12 10:43:55 1998
@@ -1749,7 +1749,7 @@
return;
}
if (rt6_fill_node(skb, rt, event, 0, 0) < 0) {
- kfree_skb(skb);
+ kfree_skb(skb, 0);
netlink_set_err(rtnl, 0, RTMGRP_IPV6_ROUTE, EINVAL);
return;
}
diff -Nur /usr/src/linux/net/netlink/af_netlink.c linux/net/netlink/af_netlink.c
--- /usr/src/linux/net/netlink/af_netlink.c Thu Feb 12 10:40:01 1998
+++ linux/net/netlink/af_netlink.c Thu Feb 12 10:41:50 1998
@@ -370,7 +370,7 @@
if (nonblock) {
sti();
netlink_unlock(sk);
- kfree_skb(skb);
+ kfree_skb(skb, 0);
return -EAGAIN;
}
interruptible_sleep_on(sk->sleep);
@@ -378,7 +378,7 @@
sti();

if (signal_pending(current)) {
- kfree_skb(skb);
+ kfree_skb(skb, 0);
return -ERESTARTSYS;
}
goto retry;
@@ -392,7 +392,7 @@
netlink_unlock(sk);
return len;
}
- kfree_skb(skb);
+ kfree_skb(skb, 0);
return -ECONNREFUSED;
}

@@ -466,8 +466,8 @@
netlink_unlock_table(protocol, allocation == GFP_KERNEL);

if (skb2)
- kfree_skb(skb2);
- kfree_skb(skb);
+ kfree_skb(skb2, 0);
+ kfree_skb(skb, 0);
}

void netlink_set_err(struct sock *ssk, pid_t pid, unsigned group, int code)
@@ -630,7 +630,7 @@
static void netlink_destroy_callback(struct netlink_callback *cb)
{
if (cb->skb)
- kfree_skb(cb->skb);
+ kfree_skb(cb->skb, 0);
kfree(cb);
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu