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
_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel