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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 22/01/2025 09:51, Sabrina Dubroca wrote:
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.


Ok!

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.

Alright!
In the meantime I'll take these days to perform more tests (possibly extending the selftest suite a little bit).

If you want to compare this patchset with the very latest code (including your suggestions), you can check the main branch at:

https://github.com/openvpn/linux-kernel-ovpn

Thanks a lot!

Best Regards,


--
Antonio Quartulli
OpenVPN Inc.





[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux