Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / net / core / dv.c
index 3f25f4a..29ee77f 100644 (file)
@@ -24,6 +24,7 @@
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
 #include <linux/skbuff.h>
+#include <linux/capability.h>
 #include <linux/errno.h>
 #include <linux/init.h>
 #include <net/dst.h>
@@ -54,15 +55,12 @@ int alloc_divert_blk(struct net_device *dev)
 
        dev->divert = NULL;
        if (dev->type == ARPHRD_ETHER) {
-               dev->divert = (struct divert_blk *)
-                       kmalloc(alloc_size, GFP_KERNEL);
+               dev->divert = kzalloc(alloc_size, GFP_KERNEL);
                if (dev->divert == NULL) {
                        printk(KERN_INFO "divert: unable to allocate divert_blk for %s\n",
                               dev->name);
                        return -ENOMEM;
                }
-
-               memset(dev->divert, 0, sizeof(struct divert_blk));
                dev_hold(dev);
        }
 
@@ -457,7 +455,7 @@ void divert_frame(struct sk_buff *skb)
        unsigned char                   *skb_data_end = skb->data + skb->len;
 
        /* Packet is already aimed at us, return */
-       if (!memcmp(eth, skb->dev->dev_addr, ETH_ALEN))
+       if (!compare_ether_addr(eth->h_dest, skb->dev->dev_addr))
                return;
        
        /* proto is not IP, do nothing */