linux/drivers/net/wireguard
Jason A. Donenfeld 71cbd32e3d wireguard: netlink: access device through ctx instead of peer
The previous commit fixed a bug that led to a NULL peer->device being
dereferenced. It's actually easier and faster performance-wise to
instead get the device from ctx->wg. This semantically makes more sense
too, since ctx->wg->peer_allowedips.seq is compared with
ctx->allowedips_seq, basing them both in ctx. This also acts as a
defence in depth provision against freed peers.

Cc: stable@vger.kernel.org
Fixes: e7096c131e ("net: WireGuard secure network tunnel")
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-03-19 11:22:50 +01:00
..
selftest wireguard: allowedips: expand maximum node depth 2023-08-07 12:26:57 -07:00
allowedips.c wireguard: allowedips: expand maximum node depth 2023-08-07 12:26:57 -07:00
allowedips.h wireguard: allowedips: free empty intermediate nodes when removing single node 2021-06-04 14:25:14 -07:00
cookie.c wireguard: do not include crypto/algapi.h 2023-09-15 18:29:44 +08:00
cookie.h
device.c wireguard: device: remove generic .ndo_get_stats64 2024-03-19 11:22:49 +01:00
device.h wireguard: receive: use ring buffer for incoming handshakes 2021-11-29 19:50:50 -08:00
main.c wireguard: main: rename 'mod_init' & 'mod_exit' functions to be module-specific 2021-11-29 19:50:30 -08:00
Makefile wireguard: do not use -O3 2021-06-04 14:25:14 -07:00
messages.h
netlink.c wireguard: netlink: access device through ctx instead of peer 2024-03-19 11:22:50 +01:00
netlink.h
noise.c wireguard: do not include crypto/algapi.h 2023-09-15 18:29:44 +08:00
noise.h
peer.c net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00
peer.h wireguard: peer: allocate in kmem_cache 2021-06-04 14:25:14 -07:00
peerlookup.c wireguard: peerlookup: take lock before checking hash in replace operation 2020-09-09 11:31:38 -07:00
peerlookup.h
queueing.c wireguard: queueing: use saner cpu selection wrapping 2023-07-03 09:17:52 +01:00
queueing.h wireguard: queueing: use saner cpu selection wrapping 2023-07-03 09:17:52 +01:00
ratelimiter.c wireguard: ratelimiter: use kvcalloc() instead of kvzalloc() 2021-11-29 19:50:50 -08:00
ratelimiter.h
receive.c wireguard: receive: annotate data-race around receiving_counter.counter 2024-03-19 11:22:49 +01:00
send.c wireguard: use DEV_STATS_INC() 2023-11-19 19:48:25 +00:00
socket.c wireguard: socket: ignore v6 endpoints when ipv6 is disabled 2022-03-30 19:14:09 -07:00
socket.h
timers.c wireguard: timers: move to using timer_delete_sync 2023-07-03 09:17:52 +01:00
timers.h
version.h