aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2006-08-07 01:22:47 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-22 17:53:57 -0400
commit6c813a7297e3af4cd7c3458e09e9ee3d161c6830 (patch)
treef4f954814585c1e5eda070742da5a108dd2dbc19 /net/ipv6
parentd7aba67f814729647c938ac6da2d5224b790f926 (diff)
[IPV6]: Fix crash in ip6_del_rt
ip6_null_entry doesn't have rt6i_table set, when trying to delete it the kernel crashes dereferencing table->tb6_lock. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r--net/ipv6/route.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index ff5affe2636c..41c5905d3191 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1223,6 +1223,9 @@ int ip6_del_rt(struct rt6_info *rt, struct nlmsghdr *nlh, void *_rtattr, struct
1223 int err; 1223 int err;
1224 struct fib6_table *table; 1224 struct fib6_table *table;
1225 1225
1226 if (rt == &ip6_null_entry)
1227 return -ENOENT;
1228
1226 table = rt->rt6i_table; 1229 table = rt->rt6i_table;
1227 write_lock_bh(&table->tb6_lock); 1230 write_lock_bh(&table->tb6_lock);
1228 1231