diff options
author | Denis V. Lunev <den@openvz.org> | 2007-12-13 12:45:12 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:57:55 -0500 |
commit | 528c4ceb427dad4a3893ba3d1913782efae0cd0e (patch) | |
tree | 96888eee6eeb8359c44413091bf6cd6ffa97873d /net/ipv6/ip6_fib.c | |
parent | aef21785995778f710a60b563e03bf53ba455a47 (diff) |
[IPV6]: Always pass a valid nl_info to inet6_rt_notify.
This makes the code in the inet6_rt_notify more straightforward and provides
groud for namespace passing.
Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ip6_fib.c')
-rw-r--r-- | net/ipv6/ip6_fib.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c index 5fae04506ad9..df05c6f2189c 100644 --- a/net/ipv6/ip6_fib.c +++ b/net/ipv6/ip6_fib.c | |||
@@ -1315,6 +1315,7 @@ static int fib6_walk(struct fib6_walker_t *w) | |||
1315 | 1315 | ||
1316 | static int fib6_clean_node(struct fib6_walker_t *w) | 1316 | static int fib6_clean_node(struct fib6_walker_t *w) |
1317 | { | 1317 | { |
1318 | struct nl_info info = {}; | ||
1318 | int res; | 1319 | int res; |
1319 | struct rt6_info *rt; | 1320 | struct rt6_info *rt; |
1320 | struct fib6_cleaner_t *c = container_of(w, struct fib6_cleaner_t, w); | 1321 | struct fib6_cleaner_t *c = container_of(w, struct fib6_cleaner_t, w); |
@@ -1323,7 +1324,7 @@ static int fib6_clean_node(struct fib6_walker_t *w) | |||
1323 | res = c->func(rt, c->arg); | 1324 | res = c->func(rt, c->arg); |
1324 | if (res < 0) { | 1325 | if (res < 0) { |
1325 | w->leaf = rt; | 1326 | w->leaf = rt; |
1326 | res = fib6_del(rt, NULL); | 1327 | res = fib6_del(rt, &info); |
1327 | if (res) { | 1328 | if (res) { |
1328 | #if RT6_DEBUG >= 2 | 1329 | #if RT6_DEBUG >= 2 |
1329 | printk(KERN_DEBUG "fib6_clean_node: del failed: rt=%p@%p err=%d\n", rt, rt->rt6i_node, res); | 1330 | printk(KERN_DEBUG "fib6_clean_node: del failed: rt=%p@%p err=%d\n", rt, rt->rt6i_node, res); |