[PATCH ovpn net v3 0/9] ovpn: assorted net fixes
Antonio Quartulli <[email protected]> Mon, 27 Jul 2026 22:06:56 +0200
| Newsgroups | gmane.network.openvpn.devel |
|---|---|
| Message-ID | <[email protected]> |
From: Antonio Quartulli <[email protected]> Hi all, This is v3 of the collected ovpn fixes for net, sent here for review (and sashiko pre-review) before submission to netdev as a pull request. Changes since v2: * dropped "ovpn: tcp - fix peer reference leak on deferred deletion" (v2 5/9): the deferred-deletion reference is already taken before scheduling the work in the current tree, so the patch is no longer needed (the v2 version also introduced a TOCTOU race) * added "ovpn: invalidate the UDP TX dst_cache when the flow key changes" * "ovpn: rehash peer in by_transp_addr table on CMD_PEER_SET": restored the peer->ovpn->lock and peer->lock acquisitions that the __ovpn_peer_hash_transp_addr() refactor had accidentally dropped from ovpn_peer_endpoints_update(); without them an MP float hit a lockdep splat and a double unlock (panic) * "ovpn: disable IPv4 redirects on MP interfaces": moved the SEND_REDIRECTS handling to ndo_open() so it is re-applied on every bring-up and survives the IPv4 in_device being recreated (e.g. after moving the interface to another netns) Thanks, Antonio Antonio Quartulli (9): ovpn: skip rehash for peers already removed from by_id ovpn: rehash peer in by_transp_addr table on CMD_PEER_SET ovpn: fix data race reading cached local endpoint on TX path ovpn: ensure socket is owned by ovpn before deref sk_user_data ovpn: zero-initialize sockaddr before learning a floated endpoint ovpn: hash floated peer by transport identity only ovpn: disable IPv4 redirects on MP interfaces ovpn: ensure TCP vars are initialized first ovpn: invalidate the UDP TX dst_cache when the flow key changes drivers/net/ovpn/main.c | 60 +++++++++---- drivers/net/ovpn/netlink.c | 19 ++++- drivers/net/ovpn/peer.c | 167 +++++++++++++++++++++++++++++-------- drivers/net/ovpn/peer.h | 15 ++++ drivers/net/ovpn/socket.c | 9 ++ drivers/net/ovpn/udp.c | 87 +++++++++++++++---- 6 files changed, 286 insertions(+), 71 deletions(-) -- 2.54.0