[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220408140342.19311-1-nicolas.dichtel@6wind.com>
Date: Fri, 8 Apr 2022 16:03:42 +0200
From: Nicolas Dichtel <nicolas.dichtel@...nd.com>
To: Eric Dumazet <edumazet@...gle.com>,
kongweibin <kongweibin2@...wei.com>
Cc: David Miller <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Willem de Bruijn <willemb@...gle.com>,
Pavel Begunkov <asml.silence@...il.com>,
David Ahern <dsahern@...nel.org>,
Vasily Averin <vvs@...tuozzo.com>,
Martin KaFai Lau <kafai@...com>,
LKML <linux-kernel@...r.kernel.org>,
netdev <netdev@...r.kernel.org>, rose.chen@...wei.com,
liaichun@...wei.com, Nicolas Dichtel <nicolas.dichtel@...nd.com>,
stable@...r.kernel.org
Subject: [PATCH net] ipv6: fix panic when forwarding a pkt with no in6 dev
kongweibin reported a kernel panic in ip6_forward() when input interface
has no in6 dev associated.
The following tc commands were used to reproduce this panic:
tc qdisc del dev vxlan100 root
tc qdisc add dev vxlan100 root netem corrupt 5%
CC: stable@...r.kernel.org
Fixes: ccd27f05ae7b ("ipv6: fix 'disable_policy' for fwd packets")
Reported-by: kongweibin <kongweibin2@...wei.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@...nd.com>
---
kongweibin, could you test this patch with your setup?
Thanks,
Nicolas
net/ipv6/ip6_output.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index e23f058166af..fa63ef2bd99c 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -485,7 +485,7 @@ int ip6_forward(struct sk_buff *skb)
goto drop;
if (!net->ipv6.devconf_all->disable_policy &&
- !idev->cnf.disable_policy &&
+ (!idev || !idev->cnf.disable_policy) &&
!xfrm6_policy_check(NULL, XFRM_POLICY_FWD, skb)) {
__IP6_INC_STATS(net, idev, IPSTATS_MIB_INDISCARDS);
goto drop;
--
2.33.0
Powered by blists - more mailing lists