Subject: Re: [PATCH net v2 1/2] net/sched: act_mirred: use the backlog for mirred ingress

From: Jakub Kicinski <[email-masked]>
Date: Wed, 14 Feb 2024 07:04:49 -0800

On Wed, 14 Feb 2024 09:51:00 +0100 Jiri Pirko wrote:
> Wed, Feb 14, 2024 at 04:38:47AM CET, [email-masked] wrote:
> >The test Davide added in commit ca22da2fbd69 ("act_mirred: use the backlog
> >for nested calls to mirred ingress") hangs our testing VMs every 10 or so
> >runs, with the familiar tcp_v4_rcv -> tcp_v4_rcv deadlock reported by
> >lockdep.
> >
> >In the past there was a concern that the backlog indirection will
> >lead to loss of error reporting / less accurate stats. But the current
> >workaround does not seem to address the issue.  
> 
> Okay, so what the patch actually should change to fix this?

Sorry I'm not sure what you're asking.

We can't redirect traffic back to ourselves because we can end up
trying to take the socket lock for a socket that is generating
the packet.

Or are you asking how we can get the stats from the packet
asynchronously? We could build a local async scheme but I'd rather
not go there unless someone actually cares about these stats.