[PATCH ovpn net v4 0/9] ovpn: assorted net fixes
Antonio Quartulli <[email protected]> Tue, 28 Jul 2026 13:48:46 +0200
| Newsgroups | gmane.network.openvpn.devel |
|---|---|
| Message-ID | <[email protected]> |
From: Antonio Quartulli <[email protected]> Hi all, This is v4 of the collected ovpn fixes for net, sent here for review (and sashiko re-review) before submission to netdev as a pull request. v3 got a sashiko review that flagged three new issues; this v4 addresses all of them. Changes since v3: * "ovpn: zero-initialize sockaddr before learning a floated endpoint": build the floated endpoint with a designated initializer instead of zeroing the whole sockaddr_storage on every received packet, so the padding is still cleared without a memset on the RX fast path * "ovpn: invalidate the UDP TX dst_cache when the flow key changes": - re-validate sport/mark in the post-lookup check as well: the TX entry check alone could let a slow resolver cache a route tagged with a sport/mark another CPU had already changed - compare bind->local against the value snapshotted before the route lookup instead of the FIB-populated fl.saddr, so caching is no longer skipped for a peer whose local address is not yet known No functional changes to the other patches. 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 | 196 ++++++++++++++++++++++++++++--------- drivers/net/ovpn/peer.h | 15 +++ drivers/net/ovpn/socket.c | 9 ++ drivers/net/ovpn/udp.c | 108 +++++++++++++++++--- 6 files changed, 329 insertions(+), 78 deletions(-) -- 2.54.0