Commit 2c42a3fb authored by Julian Anastasov's avatar Julian Anastasov Committed by David S. Miller

tcp: Fix double sizeof in new tcp_metrics code

Fix double sizeof when parsing IPv6 address from
user space because it breaks get/del by specific IPv6 address.

	Problem noticed by David Binderman:

https://bugzilla.kernel.org/show_bug.cgi?id=49171Signed-off-by: default avatarJulian Anastasov <ja@ssi.bg>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8f363b77
...@@ -864,7 +864,7 @@ static int parse_nl_addr(struct genl_info *info, struct inetpeer_addr *addr, ...@@ -864,7 +864,7 @@ static int parse_nl_addr(struct genl_info *info, struct inetpeer_addr *addr,
} }
a = info->attrs[TCP_METRICS_ATTR_ADDR_IPV6]; a = info->attrs[TCP_METRICS_ATTR_ADDR_IPV6];
if (a) { if (a) {
if (nla_len(a) != sizeof(sizeof(struct in6_addr))) if (nla_len(a) != sizeof(struct in6_addr))
return -EINVAL; return -EINVAL;
addr->family = AF_INET6; addr->family = AF_INET6;
memcpy(addr->addr.a6, nla_data(a), sizeof(addr->addr.a6)); memcpy(addr->addr.a6, nla_data(a), sizeof(addr->addr.a6));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment