git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
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
diff --git
a/net/core/dv.c
b/net/core/dv.c
index
05c76cb
..
29ee77f
100644
(file)
--- a/
net/core/dv.c
+++ b/
net/core/dv.c
@@
-24,6
+24,7
@@
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#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>
#include <linux/errno.h>
#include <linux/init.h>
#include <net/dst.h>
@@
-52,26
+53,17
@@
int alloc_divert_blk(struct net_device *dev)
{
int alloc_size = (sizeof(struct divert_blk) + 3) & ~3;
{
int alloc_size = (sizeof(struct divert_blk) + 3) & ~3;
+ dev->divert = NULL;
if (dev->type == ARPHRD_ETHER) {
if (dev->type == ARPHRD_ETHER) {
- printk(KERN_DEBUG "divert: allocating divert_blk for %s\n",
- dev->name);
-
- dev->divert = (struct divert_blk *)
- kmalloc(alloc_size, GFP_KERNEL);
+ dev->divert = kzalloc(alloc_size, GFP_KERNEL);
if (dev->divert == NULL) {
if (dev->divert == NULL) {
- printk(KERN_
DEBUG
"divert: unable to allocate divert_blk for %s\n",
+ printk(KERN_
INFO
"divert: unable to allocate divert_blk for %s\n",
dev->name);
return -ENOMEM;
dev->name);
return -ENOMEM;
- } else {
- memset(dev->divert, 0, sizeof(struct divert_blk));
}
dev_hold(dev);
}
dev_hold(dev);
- } else {
- printk(KERN_DEBUG "divert: not allocating divert_blk for non-ethernet device %s\n",
- dev->name);
-
- dev->divert = NULL;
}
}
+
return 0;
}
return 0;
}
@@
-85,11
+77,6
@@
void free_divert_blk(struct net_device *dev)
kfree(dev->divert);
dev->divert=NULL;
dev_put(dev);
kfree(dev->divert);
dev->divert=NULL;
dev_put(dev);
- printk(KERN_DEBUG "divert: freeing divert_blk for %s\n",
- dev->name);
- } else {
- printk(KERN_DEBUG "divert: no divert_blk to free, %s not ethernet\n",
- dev->name);
}
}
}
}
@@
-192,8
+179,12
@@
out:
/*
* control function of the diverter
*/
/*
* control function of the diverter
*/
+#if 0
#define DVDBG(a) \
printk(KERN_DEBUG "divert_ioctl() line %d %s\n", __LINE__, (a))
#define DVDBG(a) \
printk(KERN_DEBUG "divert_ioctl() line %d %s\n", __LINE__, (a))
+#else
+#define DVDBG(a)
+#endif
int divert_ioctl(unsigned int cmd, struct divert_cf __user *arg)
{
int divert_ioctl(unsigned int cmd, struct divert_cf __user *arg)
{
@@
-464,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 */
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 */
return;
/* proto is not IP, do nothing */