[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20200430.174629.548555772744348705.davem@davemloft.net>
Date: Thu, 30 Apr 2020 17:46:29 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: idosch@...sch.org
Cc: netdev@...r.kernel.org, bridge@...ts.linux-foundation.org,
kuba@...nel.org, nikolay@...ulusnetworks.com,
roopa@...ulusnetworks.com, s.priebe@...fihost.ag,
mlxsw@...lanox.com, idosch@...lanox.com
Subject: Re: [PATCH net] net: bridge: vlan: Add a schedule point during
VLAN processing
From: Ido Schimmel <idosch@...sch.org>
Date: Thu, 30 Apr 2020 22:38:45 +0300
> From: Ido Schimmel <idosch@...lanox.com>
>
> User space can request to delete a range of VLANs from a bridge slave in
> one netlink request. For each deleted VLAN the FDB needs to be traversed
> in order to flush all the affected entries.
>
> If a large range of VLANs is deleted and the number of FDB entries is
> large or the FDB lock is contented, it is possible for the kernel to
> loop through the deleted VLANs for a long time. In case preemption is
> disabled, this can result in a soft lockup.
>
> Fix this by adding a schedule point after each VLAN is deleted to yield
> the CPU, if needed. This is safe because the VLANs are traversed in
> process context.
>
> Fixes: bdced7ef7838 ("bridge: support for multiple vlans and vlan ranges in setlink and dellink requests")
> Signed-off-by: Ido Schimmel <idosch@...lanox.com>
> Reported-by: Stefan Priebe - Profihost AG <s.priebe@...fihost.ag>
> Tested-by: Stefan Priebe - Profihost AG <s.priebe@...fihost.ag>
Applied and queued up for -stable.
Powered by blists - more mailing lists