]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
vxlan: Use nlmsg_payload in vxlan_vnifilter_dump
authorBreno Leitao <leitao@debian.org>
Tue, 15 Apr 2025 19:28:59 +0000 (12:28 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 17 Apr 2025 01:33:03 +0000 (18:33 -0700)
Leverage the new nlmsg_payload() helper to avoid checking for message
size and then reading the nlmsg data.

Signed-off-by: Breno Leitao <leitao@debian.org>
Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://patch.msgid.link/20250415-nlmsg_v2-v1-8-a1c75d493fd7@debian.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/vxlan/vxlan_vnifilter.c

index 6e6e9f05509ab0d28fb3fb00f68bfc510a784a95..d0753776d3394a44f996a38d45ea92adad2fd50d 100644 (file)
@@ -411,13 +411,12 @@ static int vxlan_vnifilter_dump(struct sk_buff *skb, struct netlink_callback *cb
        struct tunnel_msg *tmsg;
        struct net_device *dev;
 
-       if (cb->nlh->nlmsg_len < nlmsg_msg_size(sizeof(struct tunnel_msg))) {
+       tmsg = nlmsg_payload(cb->nlh, sizeof(*tmsg));
+       if (!tmsg) {
                NL_SET_ERR_MSG(cb->extack, "Invalid msg length");
                return -EINVAL;
        }
 
-       tmsg = nlmsg_data(cb->nlh);
-
        if (tmsg->flags & ~TUNNEL_MSG_VALID_USER_FLAGS) {
                NL_SET_ERR_MSG(cb->extack, "Invalid tunnelmsg flags in ancillary header");
                return -EINVAL;