[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAM_iQpWntEBV3msNct=vH=SsypBLco1epGRA0ywF1g-5yXezDg@mail.gmail.com>
Date: Mon, 9 Aug 2021 12:59:18 -0700
From: Cong Wang <xiyou.wangcong@...il.com>
To: Mark Bloch <mbloch@...dia.com>
Cc: Ido Schimmel <idosch@...sch.org>, Vlad Buslov <vladbu@...dia.com>,
netdev@...r.kernel.org, Cong Wang <cong.wang@...edance.com>,
Jamal Hadi Salim <jhs@...atatu.com>,
Jiri Pirko <jiri@...nulli.us>
Subject: Re: [PATCH RESEND net-next] net_sched: refactor TC action init API
On Sun, Aug 8, 2021 at 8:01 AM Mark Bloch <mbloch@...dia.com> wrote:
> Hi Ido,
>
> We hit the same issue, I have the bellow patch and it solved the issue for us:
>
> From e4f9b7f0b067bf17fd0f17d6e2b912d4f348718b Mon Sep 17 00:00:00 2001
> From: Mark Bloch <mbloch@...dia.com>
> Date: Sun, 8 Aug 2021 13:23:08 +0000
> Subject: [PATCH] net/sched: cls_api, reset flags on replay
>
> tc_new_tfilter() can replay a request if it got EAGAIN. The cited commit
> didn't account for this when it converted TC action ->init() API
> to use flags instead of parameters. This can lead to passing stale flags
> down the call chain which results in trying to lock rtnl when it's
> already locked, deadlocking the entire system.
>
> Fix by making sure to reset flags on each replay.
I think this is the right fix. I clearly missed the replay case.
Acked-by: Cong Wang <cong.wang@...edance.com>
Thanks for catching it!
Powered by blists - more mailing lists