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=49171 Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8f363b77ee
commit
2c42a3fb30
@ -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];
|
||||
if (a) {
|
||||
if (nla_len(a) != sizeof(sizeof(struct in6_addr)))
|
||||
if (nla_len(a) != sizeof(struct in6_addr))
|
||||
return -EINVAL;
|
||||
addr->family = AF_INET6;
|
||||
memcpy(addr->addr.a6, nla_data(a), sizeof(addr->addr.a6));
|
||||
|
Loading…
Reference in New Issue
Block a user