net: fix nlmsg len size for skb when error bit is set.
Currently, the nlmsg->len field is not set correctly in netlink_ack() for ack messages that include the nlmsg of the error frame. This corrects the length field passed to __nlmsg_put to use the correct payload size. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
fc482cc54e
Коммит
5dba93aedf
|
@ -1788,7 +1788,7 @@ void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err)
|
|||
}
|
||||
|
||||
rep = __nlmsg_put(skb, NETLINK_CB(in_skb).pid, nlh->nlmsg_seq,
|
||||
NLMSG_ERROR, sizeof(struct nlmsgerr), 0);
|
||||
NLMSG_ERROR, payload, 0);
|
||||
errmsg = nlmsg_data(rep);
|
||||
errmsg->error = err;
|
||||
memcpy(&errmsg->msg, nlh, err ? nlh->nlmsg_len : sizeof(*nlh));
|
||||
|
|
Загрузка…
Ссылка в новой задаче