From: luoxuanqiang <xuanqiang.luo@linux.dev>
To: Farhad Alemi <farhad.alemi@berkeley.edu>
Cc: falemi@asu.edu, Simon Horman <horms@kernel.org>,
Pablo Neira Ayuso <pablo@netfilter.org>,
Florian Westphal <fw@strlen.de>,
Lorenzo Bianconi <lorenzo@kernel.org>,
netfilter-devel@vger.kernel.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, David Ahern <dsahern@kernel.org>,
Ido Schimmel <idosch@nvidia.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>
Subject: Re: [PATCH net v2] net: remove WARN_ON_ONCE() from the dev_fill_forward_path() loop check
Date: Sat, 12 Sep 2026 16:22:56 +0800 [thread overview]
Message-ID: <1ab732d7-393e-4acc-8ed9-80a4366062a8@linux.dev> (raw)
In-Reply-To: <CA+0ovCgKDOk+Bg6Gh5Lwx94u_jJjQ30-vY1JcY2BYfhnWJJbPA@mail.gmail.com>
在 2026/9/12 15:40, Farhad Alemi 写道:
> ipip_fill_forward_path() and ip6_tnl_fill_forward_path() look up the
> route to the tunnel's remote endpoint and set ctx->dev to its device,
> which is the tunnel itself when that route resolves back to the tunnel.
> dev_fill_forward_path() then makes no progress and trips
> WARN_ON_ONCE(last_dev == ctx->dev) as soon as a flowtable tries to
> offload a flow through the tunnel. That routing loop is a configuration
> any CAP_NET_ADMIN user can set up, and ip_tunnel_xmit() and
> ip6_tnl_xmit() already treat it as a tx error, so remove the warning and
> just fail the walk, as commit 008e7a7c293b ("net: remove WARN_ON_ONCE
> when accessing forward path array") did for the path stack overflow.
>
> Fixes: ab427db17885 ("netfilter: flowtable: Add IPIP rx sw acceleration")
> Fixes: d98103575dcd ("netfilter: flowtable: Add IP6IP6 rx sw acceleration")
> Closes: https://lore.kernel.org/all/CA+0ovCgaRvbd0Udj70b2xxG8Cx3CaCpNhnf1V4RWQuDveZYZhA@mail.gmail.com/
> Suggested-by: Pablo Neira Ayuso <pablo@netfilter.org>
> Assisted-by: Claude:claude-opus-5 syzkaller
> Signed-off-by: Farhad Alemi <farhad.alemi@berkeley.edu>
Reviewed-by: Xuanqiang Luo <luoxuanqiang@kylinos.cn>
Thanks,
Xuanqiang
> ---
> v2:
> - Remove the WARN_ON_ONCE() in dev_fill_forward_path() instead of
> rejecting the looping route in the tunnel drivers (Pablo Neira Ayuso).
> - Add the Fixes: tags (Xuanqiang Luo).
>
> v1: https://lore.kernel.org/all/CA+0ovCj+Pd5owGH+51rA8-RDu9YFx5oYUv8bV0zOE72QgVfY0A@mail.gmail.com/
>
> diff --git a/net/core/dev.c b/net/core/dev.c
> index ecfbd72d5d1a..c67900354fa6 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -789,7 +789,7 @@ int dev_fill_forward_path(struct net_device_path_ctx
> goto err_out;
>
> stack->num_paths++;
> - if (WARN_ON_ONCE(last_dev == ctx->dev))
> + if (last_dev == ctx->dev)
> goto err_out;
> }
>
next prev parent reply other threads:[~2026-09-12 8:23 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-12 7:40 [PATCH net v2] net: remove WARN_ON_ONCE() from the dev_fill_forward_path() loop check Farhad Alemi
2026-09-12 8:22 ` luoxuanqiang [this message]
2026-09-17 1:55 ` Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1ab732d7-393e-4acc-8ed9-80a4366062a8@linux.dev \
--to=xuanqiang.luo@linux.dev \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=edumazet@google.com \
--cc=falemi@asu.edu \
--cc=farhad.alemi@berkeley.edu \
--cc=fw@strlen.de \
--cc=horms@kernel.org \
--cc=idosch@nvidia.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lorenzo@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pablo@netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.