Subject: Re: [PATCH net-next v18 20/25] ovpn: implement peer add/get/dump/delete via netlink

From: Sabrina Dubroca <[email-masked]>
Date: Wed, 22 Jan 2025 09:51:17 +0100

2025-01-22, 01:40:47 +0100, Antonio Quartulli wrote:
> On 17/01/2025 12:48, Sabrina Dubroca wrote:
> [...]
> > With the delayed socket release (which is similar to what was in v11,
> > but now with refcounting on the netdevice which should make
> > rtnl_link_unregister in ovpn_cleanup wait [*]), we may return to
> > userspace as if the peer was gone, but the socket hasn't been detached
> > yet.
> > 
> > A userspace application that tries to remove the peer and immediately
> > re-create it with the same socket could get EBUSY if the workqueue
> > hasn't done its job yet. That would be quite confusing to the
> > application.
> > 
> > So I would add a completion to wait here until the socket has been
> > fully detached. Something like below.
> > 
> > [*] I don't think the current refcounting fully protects against that,
> > I'll comment on 05/25
> 
> Sabrina, after the other changes I acknowledged, do you still have comments
> for 5/25?

The call_rcu vs _put was all I had for this.

Note that you have to wait until ~Feb 4th before you can resubmit
(since net-next is currently closed). I'll take another look at this
revision next week, since I've only checked a few specific things
(mainly related to peer and socket destruction) so far.

Thanks.

-- 
Sabrina