[ovs-dev] [PATCH net v3] net: openvswitch: fix to make sure flow_lookup() is not preempted

Eelco Chaudron echaudro at redhat.com
Sat Oct 17 18:27:37 UTC 2020



----- Original Message -----
> From: "Jakub Kicinski" <kuba at kernel.org>
> To: "Eelco Chaudron" <echaudro at redhat.com>
> Cc: netdev at vger.kernel.org, davem at davemloft.net, dev at openvswitch.org, pabeni at redhat.com, pshelar at ovn.org,
> jlelli at redhat.com, bigeasy at linutronix.de, "i maximets" <i.maximets at ovn.org>
> Sent: Saturday, October 17, 2020 1:46:07 AM
> Subject: Re: [PATCH net v3] net: openvswitch: fix to make sure flow_lookup() is not preempted
> 
> On Thu, 15 Oct 2020 19:09:33 +0200 Eelco Chaudron wrote:
> > The flow_lookup() function uses per CPU variables, which must be called
> > with BH disabled. However, this is fine in the general NAPI use case
> > where the local BH is disabled. But, it's also called from the netlink
> > context. The below patch makes sure that even in the netlink path, the
> > BH is disabled.
> > 
> > In addition, u64_stats_update_begin() requires a lock to ensure one writer
> > which is not ensured here. Making it per-CPU and disabling NAPI (softirq)
> > ensures that there is always only one writer.
> > 
> > Fixes: eac87c413bf9 ("net: openvswitch: reorder masks array based on
> > usage")
> > Reported-by: Juri Lelli <jlelli at redhat.com>
> > Signed-off-by: Eelco Chaudron <echaudro at redhat.com>
> 
> Hi Eelco, looks like this doesn't apply after the 5.10 merges.
> 
> Please respin on top of the current net.

Done, just sent out a v4.

//Eelco



More information about the dev mailing list