summaryrefslogtreecommitdiff
path: root/include/linux/debugobjects.h
diff options
context:
space:
mode:
authorRalf Lici <ralf@mandelbit.com>2026-08-28 16:50:24 +0200
committerAntonio Quartulli <antonio@openvpn.net>2026-09-21 11:39:13 +0200
commit7c66b7a4ae80a9309e6dc1d24b7b6b897e6348eb (patch)
tree870452b3025b82e91ecd4da30ff6d04fe0253966 /include/linux/debugobjects.h
parent77393b4d72dfeb764b2af2b848acc659f6fcfd0a (diff)
ovpn: track UDP socket route key for peer dst cache
ovpn stores the route used to transmit UDP packets in a per-peer dst cache. A cached dst is only valid for the route lookup inputs used when it was resolved. Some of those inputs are mutable while userspace still owns the UDP socket. In particular, changes to the socket mark or UDP source port do not invalidate ovpn's peer dst cache, so ovpn can keep using a route selected with an old socket route key. Replace the cached mark with a route key containing the socket-owned lookup inputs currently used by ovpn, and reset the peer dst cache when the key changes. Before storing a newly looked-up dst, recheck the route key under the peer lock so a dst resolved for stale socket state is not published. Fixes: 08857b5ec5d9 ("ovpn: implement basic TX path (UDP)") Signed-off-by: Ralf Lici <ralf@mandelbit.com> Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions