]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: Use nlmsg_payload in neighbour file
authorBreno Leitao <leitao@debian.org>
Thu, 17 Apr 2025 13:03:07 +0000 (06:03 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 22 Apr 2025 01:38:00 +0000 (18:38 -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/20250417-nlmsg_v3-v1-1-9b09d9d7e61d@debian.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/neighbour.c

index 65cf582b5dacdb5ccf45b7a42c84c9fffddb8f6e..254067b719da3315ae258c52df42f0fa6aac0e80 100644 (file)
@@ -2747,12 +2747,12 @@ static int neigh_valid_dump_req(const struct nlmsghdr *nlh,
        if (strict_check) {
                struct ndmsg *ndm;
 
-               if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*ndm))) {
+               ndm = nlmsg_payload(nlh, sizeof(*ndm));
+               if (!ndm) {
                        NL_SET_ERR_MSG(extack, "Invalid header for neighbor dump request");
                        return -EINVAL;
                }
 
-               ndm = nlmsg_data(nlh);
                if (ndm->ndm_pad1  || ndm->ndm_pad2  || ndm->ndm_ifindex ||
                    ndm->ndm_state || ndm->ndm_type) {
                        NL_SET_ERR_MSG(extack, "Invalid values in header for neighbor dump request");