projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Manual merge with Linus
[powerpc.git]
/
net
/
core
/
neighbour.c
diff --git
a/net/core/neighbour.c
b/net/core/neighbour.c
index
f6bdcad
..
39fc55e
100644
(file)
--- a/
net/core/neighbour.c
+++ b/
net/core/neighbour.c
@@
-32,6
+32,7
@@
#include <net/sock.h>
#include <linux/rtnetlink.h>
#include <linux/random.h>
#include <net/sock.h>
#include <linux/rtnetlink.h>
#include <linux/random.h>
+#include <linux/string.h>
#define NEIGH_DEBUG 1
#define NEIGH_DEBUG 1
@@
-1216,7
+1217,7
@@
static void neigh_proxy_process(unsigned long arg)
while (skb != (struct sk_buff *)&tbl->proxy_queue) {
struct sk_buff *back = skb;
while (skb != (struct sk_buff *)&tbl->proxy_queue) {
struct sk_buff *back = skb;
- long tdif =
back->stamp.tv_usec
- now;
+ long tdif =
NEIGH_CB(back)->sched_next
- now;
skb = skb->next;
if (tdif <= 0) {
skb = skb->next;
if (tdif <= 0) {
@@
-1247,8
+1248,9
@@
void pneigh_enqueue(struct neigh_table *tbl, struct neigh_parms *p,
kfree_skb(skb);
return;
}
kfree_skb(skb);
return;
}
- skb->stamp.tv_sec = LOCALLY_ENQUEUED;
- skb->stamp.tv_usec = sched_next;
+
+ NEIGH_CB(skb)->sched_next = sched_next;
+ NEIGH_CB(skb)->flags |= LOCALLY_ENQUEUED;
spin_lock(&tbl->proxy_queue.lock);
if (del_timer(&tbl->proxy_timer)) {
spin_lock(&tbl->proxy_queue.lock);
if (del_timer(&tbl->proxy_timer)) {
@@
-1597,6
+1599,8
@@
static int neightbl_fill_info(struct neigh_table *tbl, struct sk_buff *skb,
read_lock_bh(&tbl->lock);
ndtmsg->ndtm_family = tbl->family;
read_lock_bh(&tbl->lock);
ndtmsg->ndtm_family = tbl->family;
+ ndtmsg->ndtm_pad1 = 0;
+ ndtmsg->ndtm_pad2 = 0;
RTA_PUT_STRING(skb, NDTA_NAME, tbl->id);
RTA_PUT_MSECS(skb, NDTA_GC_INTERVAL, tbl->gc_interval);
RTA_PUT_STRING(skb, NDTA_NAME, tbl->id);
RTA_PUT_MSECS(skb, NDTA_GC_INTERVAL, tbl->gc_interval);
@@
-1682,6
+1686,8
@@
static int neightbl_fill_param_info(struct neigh_table *tbl,
read_lock_bh(&tbl->lock);
ndtmsg->ndtm_family = tbl->family;
read_lock_bh(&tbl->lock);
ndtmsg->ndtm_family = tbl->family;
+ ndtmsg->ndtm_pad1 = 0;
+ ndtmsg->ndtm_pad2 = 0;
RTA_PUT_STRING(skb, NDTA_NAME, tbl->id);
if (neightbl_fill_parms(skb, parms) < 0)
RTA_PUT_STRING(skb, NDTA_NAME, tbl->id);
if (neightbl_fill_parms(skb, parms) < 0)
@@
-1871,6
+1877,8
@@
static int neigh_fill_info(struct sk_buff *skb, struct neighbour *n,
struct ndmsg *ndm = NLMSG_DATA(nlh);
ndm->ndm_family = n->ops->family;
struct ndmsg *ndm = NLMSG_DATA(nlh);
ndm->ndm_family = n->ops->family;
+ ndm->ndm_pad1 = 0;
+ ndm->ndm_pad2 = 0;
ndm->ndm_flags = n->flags;
ndm->ndm_type = n->type;
ndm->ndm_ifindex = n->dev->ifindex;
ndm->ndm_flags = n->flags;
ndm->ndm_type = n->type;
ndm->ndm_ifindex = n->dev->ifindex;
@@
-2335,8
+2343,8
@@
void neigh_app_ns(struct neighbour *n)
}
nlh = (struct nlmsghdr *)skb->data;
nlh->nlmsg_flags = NLM_F_REQUEST;
}
nlh = (struct nlmsghdr *)skb->data;
nlh->nlmsg_flags = NLM_F_REQUEST;
- NETLINK_CB(skb).dst_group
s = RTM
GRP_NEIGH;
- netlink_broadcast(rtnl, skb, 0, RT
M
GRP_NEIGH, GFP_ATOMIC);
+ NETLINK_CB(skb).dst_group
= RTNL
GRP_NEIGH;
+ netlink_broadcast(rtnl, skb, 0, RT
NL
GRP_NEIGH, GFP_ATOMIC);
}
static void neigh_app_notify(struct neighbour *n)
}
static void neigh_app_notify(struct neighbour *n)
@@
-2353,8
+2361,8
@@
static void neigh_app_notify(struct neighbour *n)
return;
}
nlh = (struct nlmsghdr *)skb->data;
return;
}
nlh = (struct nlmsghdr *)skb->data;
- NETLINK_CB(skb).dst_group
s = RTM
GRP_NEIGH;
- netlink_broadcast(rtnl, skb, 0, RT
M
GRP_NEIGH, GFP_ATOMIC);
+ NETLINK_CB(skb).dst_group
= RTNL
GRP_NEIGH;
+ netlink_broadcast(rtnl, skb, 0, RT
NL
GRP_NEIGH, GFP_ATOMIC);
}
#endif /* CONFIG_ARPD */
}
#endif /* CONFIG_ARPD */
@@
-2592,7
+2600,7
@@
int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,
t->neigh_vars[17].extra1 = dev;
}
t->neigh_vars[17].extra1 = dev;
}
- dev_name =
net_sysctl_strdup(dev_name_source
);
+ dev_name =
kstrdup(dev_name_source, GFP_KERNEL
);
if (!dev_name) {
err = -ENOBUFS;
goto free;
if (!dev_name) {
err = -ENOBUFS;
goto free;