From ad66dc0d73ca4e086028e34fb07aaabb95ebe740 Mon Sep 17 00:00:00 2001 From: Steffen Klassert Date: Thu, 5 Jul 2012 23:37:09 +0000 Subject: [PATCH] --- yaml --- r: 315359 b: refs/heads/master c: 8104891b86b212de77063660c0c062b427526fa6 h: refs/heads/master i: 315357: 22a2ea93a643a63f514fc7b79ef5bfd9256a4363 315355: 426f184ece08d8b60410a5aa06fde5e9163d2b5f 315351: cd60cd0f231c53238785fac34765d284880fc74d 315343: fd3161b82e3ce46b77948a15273119c702076306 315327: 2e96044bfc0eeb97d303165262c90edacd188a4e v: v3 --- [refs] | 2 +- trunk/net/ipv6/route.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index f9a465c0573e..6077ef5739a3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 921a678cb6825900478f1e8e9c59035f8c67aa32 +refs/heads/master: 8104891b86b212de77063660c0c062b427526fa6 diff --git a/trunk/net/ipv6/route.c b/trunk/net/ipv6/route.c index 3151aabff5fd..2a4c8d48977f 100644 --- a/trunk/net/ipv6/route.c +++ b/trunk/net/ipv6/route.c @@ -280,8 +280,9 @@ static inline struct rt6_info *ip6_dst_alloc(struct net *net, 0, 0, flags); if (rt) { - memset(&rt->n, 0, - sizeof(*rt) - sizeof(struct dst_entry)); + struct dst_entry *dst = &rt->dst; + + memset(dst + 1, 0, sizeof(*rt) - sizeof(*dst)); rt6_init_peer(rt, table ? &table->tb6_peers : net->ipv6.peers); } return rt; @@ -982,11 +983,11 @@ struct dst_entry *ip6_blackhole_route(struct net *net, struct dst_entry *dst_ori rt = dst_alloc(&ip6_dst_blackhole_ops, ort->dst.dev, 1, 0, 0); if (rt) { - memset(&rt->rt6i_table, 0, sizeof(*rt) - sizeof(struct dst_entry)); - rt6_init_peer(rt, net->ipv6.peers); - new = &rt->dst; + memset(new + 1, 0, sizeof(*rt) - sizeof(*new)); + rt6_init_peer(rt, net->ipv6.peers); + new->__use = 1; new->input = dst_discard; new->output = dst_discard;