Commit 3d0d4337 authored by David Ahern's avatar David Ahern Committed by David S. Miller
Browse files

netlink: Add extack message to nlmsg_parse for invalid header length



Give a user a reason why EINVAL is returned in nlmsg_parse.

Signed-off-by: default avatarDavid Ahern <dsahern@gmail.com>
Acked-by: default avatarChristian Brauner <christian@brauner.io>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4a19edb6
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -516,8 +516,10 @@ static inline int nlmsg_parse(const struct nlmsghdr *nlh, int hdrlen,
			      const struct nla_policy *policy,
			      struct netlink_ext_ack *extack)
{
	if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen))
	if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen)) {
		NL_SET_ERR_MSG(extack, "Invalid header length");
		return -EINVAL;
	}

	return nla_parse(tb, maxtype, nlmsg_attrdata(nlh, hdrlen),
			 nlmsg_attrlen(nlh, hdrlen), policy, extack);