diff options
Diffstat (limited to 'net/ipv6/route.c')
-rw-r--r-- | net/ipv6/route.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 0302e0eb07af..7178e32eb15d 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -2330,6 +2330,10 @@ static void __ip6_rt_update_pmtu(struct dst_entry *dst, const struct sock *sk, | |||
2330 | 2330 | ||
2331 | rcu_read_lock(); | 2331 | rcu_read_lock(); |
2332 | from = rcu_dereference(rt6->from); | 2332 | from = rcu_dereference(rt6->from); |
2333 | if (!from) { | ||
2334 | rcu_read_unlock(); | ||
2335 | return; | ||
2336 | } | ||
2333 | nrt6 = ip6_rt_cache_alloc(from, daddr, saddr); | 2337 | nrt6 = ip6_rt_cache_alloc(from, daddr, saddr); |
2334 | if (nrt6) { | 2338 | if (nrt6) { |
2335 | rt6_do_update_pmtu(nrt6, mtu); | 2339 | rt6_do_update_pmtu(nrt6, mtu); |