]> Gentwo Git Trees - linux/.git/commitdiff
wireguard: netlink: lower .maxattr for WG_CMD_GET_DEVICE
authorAsbjørn Sloth Tønnesen <ast@fiberby.net>
Wed, 26 Nov 2025 17:35:36 +0000 (17:35 +0000)
committerJason A. Donenfeld <Jason@zx2c4.com>
Mon, 1 Dec 2025 02:25:09 +0000 (03:25 +0100)
Previously .maxattr was shared for both WG_CMD_GET_DEVICE and
WG_CMD_SET_DEVICE. Now that it is split, then we can lower it
for WG_CMD_GET_DEVICE to follow the documentation which defines
.maxattr as WGDEVICE_A_IFNAME for WG_CMD_GET_DEVICE.

$ grep -hC5 'one but not both of:' include/uapi/linux/wireguard.h
 * WG_CMD_GET_DEVICE
 * -----------------
 *
 * May only be called via NLM_F_REQUEST | NLM_F_DUMP. The command
 * should contain one but not both of:
 *
 *    WGDEVICE_A_IFINDEX: NLA_U32
 *    WGDEVICE_A_IFNAME: NLA_NUL_STRING, maxlen IFNAMSIZ - 1
 *
 * The kernel will then return several messages [...]

While other attributes weren't rejected previously, the consensus
is that nobody sends those attributes, so nothing should break.

Link: https://lore.kernel.org/r/aRyLoy2iqbkUipZW@zx2c4.com/
Suggested-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Asbjørn Sloth Tønnesen <ast@fiberby.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
drivers/net/wireguard/netlink.c

index e7efe5f8465dca3403c7be7b44e60c3b6453b143..c2d0576e96f5f92fa62df10b9ddd60b7d395b675 100644 (file)
@@ -623,7 +623,7 @@ static const struct genl_split_ops wireguard_nl_ops[] = {
                .dumpit = wg_get_device_dump,
                .done = wg_get_device_done,
                .policy = device_policy,
-               .maxattr = WGDEVICE_A_PEERS,
+               .maxattr = WGDEVICE_A_IFNAME,
                .flags = GENL_UNS_ADMIN_PERM | GENL_CMD_CAP_DUMP,
        }, {
                .cmd = WG_CMD_SET_DEVICE,