diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2009-09-11 14:35:22 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-09-11 15:54:23 -0400 |
commit | ffcfb8db540ff879c2a85bf7e404954281443414 (patch) | |
tree | 9b0014cd056c4283e6df924a5fe28ab54542c1d3 /drivers/net/appletalk/ipddp.c | |
parent | 8ba69ba6a324b13e1190fc31e41954d190fd4f1d (diff) |
Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded
And also do a better job of returning proper NET_{RX,XMIT}_ values.
Based on a patch and suggestions by Mark Smith.
This fixes CVE-2009-2903
Reported-by: Mark Smith <lk-netdev@lk-netdev.nosense.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/appletalk/ipddp.c')
-rw-r--r-- | drivers/net/appletalk/ipddp.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/appletalk/ipddp.c b/drivers/net/appletalk/ipddp.c index bea87da97e34..aaf14d306a4a 100644 --- a/drivers/net/appletalk/ipddp.c +++ b/drivers/net/appletalk/ipddp.c | |||
@@ -177,8 +177,7 @@ static netdev_tx_t ipddp_xmit(struct sk_buff *skb, struct net_device *dev) | |||
177 | dev->stats.tx_packets++; | 177 | dev->stats.tx_packets++; |
178 | dev->stats.tx_bytes += skb->len; | 178 | dev->stats.tx_bytes += skb->len; |
179 | 179 | ||
180 | if(aarp_send_ddp(rt->dev, skb, &rt->at, NULL) < 0) | 180 | aarp_send_ddp(rt->dev, skb, &rt->at, NULL); |
181 | dev_kfree_skb(skb); | ||
182 | 181 | ||
183 | spin_unlock(&ipddp_route_lock); | 182 | spin_unlock(&ipddp_route_lock); |
184 | 183 | ||