diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2009-10-26 14:36:45 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-11-09 16:52:22 -0800 |
commit | 6bf956e1ab1a292ef04de8d718767813e8a21140 (patch) | |
tree | 7af51abfd63fe275c3f5a5bb44277d808820e224 /drivers | |
parent | 7be3b35420ebca1359a874c474bb5d3703435c0b (diff) |
appletalk: Fix skb leak when ipddp interface is not loaded (CVE-2009-2903)
commit ffcfb8db540ff879c2a85bf7e404954281443414 upstream
appletalk: Fix skb leak when ipddp interface is not loaded
[ backport to 2.6.27 : Chuck Ebbert <cebbert@redhat.com ]
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>
Cc: Chuck Ebbert <cebbert@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-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 1071144edd66..6d0107cb7a2e 100644 --- a/drivers/net/appletalk/ipddp.c +++ b/drivers/net/appletalk/ipddp.c @@ -173,8 +173,7 @@ static int ipddp_xmit(struct sk_buff *skb, struct net_device *dev) ((struct net_device_stats *) dev->priv)->tx_packets++; ((struct net_device_stats *) dev->priv)->tx_bytes+=skb->len; - if(aarp_send_ddp(rt->dev, skb, &rt->at, NULL) < 0) - dev_kfree_skb(skb); + aarp_send_ddp(rt->dev, skb, &rt->at, NULL); return 0; } |