[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190717220843.974-1-dsahern@kernel.org>
Date: Wed, 17 Jul 2019 15:08:43 -0700
From: David Ahern <dsahern@...nel.org>
To: davem@...emloft.net
Cc: netdev@...r.kernel.org, linux-kernel@...lSD.com,
David Ahern <dsahern@...il.com>
Subject: [PATCH net] ipv6: rt6_check should return NULL if 'from' is NULL
From: David Ahern <dsahern@...il.com>
Paul reported that l2tp sessions were broken after the commit referenced
in the Fixes tag. Prior to this commit rt6_check returned NULL if the
rt6_info 'from' was NULL - ie., the dst_entry was disconnected from a FIB
entry. Restore that behavior.
Fixes: 93531c674315 ("net/ipv6: separate handling of FIB entries from dst based routes")
Reported-by: Paul Donohue <linux-kernel@...lSD.com>
Tested-by: Paul Donohue <linux-kernel@...lSD.com>
Signed-off-by: David Ahern <dsahern@...il.com>
---
net/ipv6/route.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 4d2e6b31a8d6..6fe3097b9ab7 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -2563,7 +2563,7 @@ static struct dst_entry *rt6_check(struct rt6_info *rt,
{
u32 rt_cookie = 0;
- if ((from && !fib6_get_cookie_safe(from, &rt_cookie)) ||
+ if (!from || !fib6_get_cookie_safe(from, &rt_cookie) ||
rt_cookie != cookie)
return NULL;
--
2.11.0
Powered by blists - more mailing lists