[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CANn89iLfM=sg4L16Fqj2o9VO59n_sn1u9acYr4Fe5P4bHBqE5Q@mail.gmail.com>
Date: Sun, 12 Oct 2025 11:34:51 -0700
From: Eric Dumazet <edumazet@...gle.com>
To: Jamal Hadi Salim <jhs@...atatu.com>
Cc: "David S . Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Simon Horman <horms@...nel.org>,
Cong Wang <xiyou.wangcong@...il.com>, Jiri Pirko <jiri@...nulli.us>,
Kuniyuki Iwashima <kuniyu@...gle.com>, Willem de Bruijn <willemb@...gle.com>, netdev@...r.kernel.org,
eric.dumazet@...il.com
Subject: Re: [PATCH RFC net-next 2/5] net/sched: act_mirred: add loop detection
On Sun, Oct 12, 2025 at 8:23 AM Jamal Hadi Salim <jhs@...atatu.com> wrote:
>
> On Mon, Oct 6, 2025 at 3:31 PM Eric Dumazet <edumazet@...gle.com> wrote:
> >
> > We want to revert commit 0f022d32c3ec ("net/sched: Fix mirred deadlock
> > on device recursion") because it adds code in the fast path, even when
> > act_mirred is not used.
> >
> > Use an additional device pointers array in struct netdev_xmit
> > and implement loop detection in tcf_mirred_is_act_redirect().
>
> Patch series looks good!
> This has the potential of (later on) fixing issue that are currently
> broken after the TTL bits were taken away.
> Small suggestion, the commit message was a bit confusing to me. How about:
>
> Commit 0f022d32c3ec ("net/sched: Fix mirred deadlock on device
> recursion") it adds code in the fast path, even when act_mirred is not
> used. We revert in the next patch.
>
> Prepare by adding an additional device pointers array in struct
> netdev_xmit and implement loop detection in
> tcf_mirred_is_act_redirect().
>
> Please give us time to run tests on this set!
SGTM, I will send when net-next reopens, with an amended changelog
net/sched: act_mirred: add loop detection
Commit 0f022d32c3ec ("net/sched: Fix mirred deadlock on device recursion")
added code in the fast path, even when act_mirred is not used.
Prepare its revert by implementing loop detection in act_mirred.
Adds an array of device pointers in struct netdev_xmit.
tcf_mirred_is_act_redirect() can detect if the array
already contains the target device.
Powered by blists - more mailing lists