aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergey Vlasov <vsu@altlinux.ru>2007-04-27 02:17:19 -0700
committerDavid S. Miller <davem@davemloft.net>2007-04-27 02:17:19 -0700
commit912a41a4ab935ce8c4308428ec13fc7f8b1f18f4 (patch)
treeeb41250e37c65f6af693748a88847a83f641fc49
parent[IPV6]: Fix thinko in ipv6_rthdr_rcv() changes. (diff)
downloadlinux-dev-912a41a4ab935ce8c4308428ec13fc7f8b1f18f4.tar.xz
linux-dev-912a41a4ab935ce8c4308428ec13fc7f8b1f18f4.zip
[IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res)
When CONFIG_IP_MULTIPLE_TABLES is enabled, the code in nl_fib_lookup() needs to initialize the res.r field before fib_res_put(&res) - unlike fib_lookup(), a direct call to ->tb_lookup does not set this field. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/fib_frontend.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c
index 953dd458c239..837f2957fa83 100644
--- a/net/ipv4/fib_frontend.c
+++ b/net/ipv4/fib_frontend.c
@@ -777,6 +777,10 @@ static void nl_fib_lookup(struct fib_result_nl *frn, struct fib_table *tb )
.tos = frn->fl_tos,
.scope = frn->fl_scope } } };
+#ifdef CONFIG_IP_MULTIPLE_TABLES
+ res.r = NULL;
+#endif
+
frn->err = -ENOENT;
if (tb) {
local_bh_disable();