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: Adrian Bunk <bunk@stusta.de>
This commit is contained in:
Vlad Yasevich
2007-07-22 18:24:56 +02:00
committed by Adrian Bunk
parent c08c47f63d
commit c88fee3c26
+4
View File
@@ -840,6 +840,10 @@ static int sctp_inet6_send_verify(struct sctp_sock *opt, union sctp_addr *addr)
dev = dev_get_by_index(addr->v6.sin6_scope_id);
if (!dev)
return 0;
if (!ipv6_chk_addr(&addr->v6.sin6_addr, dev, 0)) {
dev_put(dev);
return 0;
}
dev_put(dev);
}
af = opt->pf->af;