SCTP: Add scope_id validation for link-local binds
SCTP currently permits users to bind to link-local addresses, but doesn't verify that the scope id specified at bind matches the interface that the address is configured on. It was report that this can hang a system. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f50f95cab7
commit
1669d857a2
|
@ -844,6 +844,10 @@ static int sctp_inet6_bind_verify(struct sctp_sock *opt, union sctp_addr *addr)
|
||||||
dev = dev_get_by_index(addr->v6.sin6_scope_id);
|
dev = dev_get_by_index(addr->v6.sin6_scope_id);
|
||||||
if (!dev)
|
if (!dev)
|
||||||
return 0;
|
return 0;
|
||||||
|
if (!ipv6_chk_addr(&addr->v6.sin6_addr, dev, 0)) {
|
||||||
|
dev_put(dev);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
dev_put(dev);
|
dev_put(dev);
|
||||||
}
|
}
|
||||||
af = opt->pf->af;
|
af = opt->pf->af;
|
||||||
|
|
Loading…
Reference in New Issue