wireguard: netlink: access device through ctx instead of peer
authorJason A. Donenfeld <Jason@zx2c4.com>
Thu, 14 Mar 2024 22:49:10 +0000 (16:49 -0600)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 19 Mar 2024 10:22:50 +0000 (11:22 +0100)
commit71cbd32e3db82ea4a74e3ef9aeeaa6971969c86f
tree5031286bc7301b86688e44053c9ae8a3c2349f5c
parent55b6c738673871c9b0edae05d0c97995c1ff08c4
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: e7096c131e51 ("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>
drivers/net/wireguard/netlink.c