Message ID | 20200226184734.1866-1-pablo@netfilter.org |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net] netlink: Use netlink header as base to calculate bad attribute offset | expand |
From: Pablo Neira Ayuso <pablo@netfilter.org> Date: Wed, 26 Feb 2020 19:47:34 +0100 > Userspace might send a batch that is composed of several netlink > messages. The netlink_ack() function must use the pointer to the netlink > header as base to calculate the bad attribute offset. > > Fixes: 2d4bc93368f5 ("netlink: extended ACK reporting") > Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> Applied and queued up for -stable, thanks Pablo.
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index edf3e285e242..5313f1cec170 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -2434,7 +2434,7 @@ void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err, in_skb->len)) WARN_ON(nla_put_u32(skb, NLMSGERR_ATTR_OFFS, (u8 *)extack->bad_attr - - in_skb->data)); + (u8 *)nlh)); } else { if (extack->cookie_len) WARN_ON(nla_put(skb, NLMSGERR_ATTR_COOKIE,
Userspace might send a batch that is composed of several netlink messages. The netlink_ack() function must use the pointer to the netlink header as base to calculate the bad attribute offset. Fixes: 2d4bc93368f5 ("netlink: extended ACK reporting") Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> --- net/netlink/af_netlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)