Xin Long
1071ec9d45
sctp: do not check port in sctp_inet6_cmp_addr
...
pf->cmp_addr() is called before binding a v6 address to the sock. It
should not check ports, like in sctp_inet_cmp_addr.
But sctp_inet6_cmp_addr checks the addr by invoking af(6)->cmp_addr,
sctp_v6_cmp_addr where it also compares the ports.
This would cause that setsockopt(SCTP_SOCKOPT_BINDX_ADD) could bind
multiple duplicated IPv6 addresses after Commit 40b4f0fd74 ("sctp:
lack the check for ports in sctp_v6_cmp_addr").
This patch is to remove af->cmp_addr called in sctp_inet6_cmp_addr,
but do the proper check for both v6 addrs and v4mapped addrs.
v1->v2:
- define __sctp_v6_cmp_addr to do the common address comparison
used for both pf and af v6 cmp_addr.
Fixes: 40b4f0fd74 ("sctp: lack the check for ports in sctp_v6_cmp_addr")
Reported-by: Jianwen Ji <[email protected] >
Signed-off-by: Xin Long <[email protected] >
Acked-by: Neil Horman <[email protected] >
Signed-off-by: David S. Miller <[email protected] >
2018-04-12 22:01:05 -04:00
..
associola.c
sctp: implement enqueue_event for sctp_stream_interleave
2017-12-11 11:23:05 -05:00
auth.c
sctp: add SCTP_AUTH_FREE_KEY type for AUTHENTICATION_EVENT
2018-03-14 13:48:27 -04:00
bind_addr.c
sctp: remove the typedef sctp_scope_t
2017-08-06 21:33:41 -07:00
chunk.c
selinux/stable-4.17 PR 20180403
2018-04-06 15:39:26 -07:00
debug.c
sctp: add SCTP_CID_I_DATA and SCTP_CID_I_FWD_TSN conversion in sctp_cname
2018-02-12 11:40:01 -05:00
diag.c
sctp: add file comments in diag.c
2018-02-13 13:56:31 -05:00
endpointola.c
sctp: remove unnecessary asoc in sctp_has_association
2018-03-27 10:22:11 -04:00
input.c
sctp: remove unnecessary asoc in sctp_has_association
2018-03-27 10:22:11 -04:00
inqueue.c
net: use skb_is_gso_sctp() instead of open-coding
2018-03-09 11:41:47 -05:00
ipv6.c
sctp: do not check port in sctp_inet6_cmp_addr
2018-04-12 22:01:05 -04:00
Kconfig
net: sctp: Remove debug SCTP probe module
2018-01-02 14:27:29 -05:00
Makefile
sctp: rename sctp_diag.c as diag.c
2018-02-13 13:56:31 -05:00
objcnt.c
sctp: use proc_remove_subtree()
2018-03-17 20:11:22 -04:00
offload.c
net: use skb_is_gso_sctp() instead of open-coding
2018-03-09 11:41:47 -05:00
output.c
selinux/stable-4.17 PR 20180403
2018-04-06 15:39:26 -07:00
outqueue.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-01-17 00:10:42 -05:00
primitive.c
sctp: remove the typedef sctp_subtype_t
2017-08-06 21:33:42 -07:00
proc.c
net: Use octal not symbolic permissions
2018-03-26 12:07:48 -04:00
protocol.c
selinux/stable-4.17 PR 20180403
2018-04-06 15:39:26 -07:00
sm_make_chunk.c
selinux/stable-4.17 PR 20180403
2018-04-06 15:39:26 -07:00
sm_sideeffect.c
sctp: add SCTP_AUTH_NO_AUTH type for AUTHENTICATION_EVENT
2018-03-14 13:48:27 -04:00
sm_statefuns.c
selinux/stable-4.17 PR 20180403
2018-04-06 15:39:26 -07:00
sm_statetable.c
sctp: implement validate_ftsn for sctp_stream_interleave
2017-12-15 13:52:22 -05:00
socket.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-04-09 17:04:10 -07:00
stream.c
sctp: fix some copy-paste errors for file comments
2018-02-14 14:18:32 -05:00
stream_interleave.c
sctp: remove the left unnecessary check for chunk in sctp_renege_events
2018-02-16 16:32:37 -05:00
stream_sched.c
sctp: add stream interleave support in stream scheduler
2017-12-15 13:52:22 -05:00
stream_sched_prio.c
sctp: remove extern from stream sched
2017-11-28 11:00:13 -05:00
stream_sched_rr.c
sctp: remove extern from stream sched
2017-11-28 11:00:13 -05:00
sysctl.c
sctp: support sysctl to allow users to use stream interleave
2017-12-15 13:52:22 -05:00
transport.c
sctp: fix the handling of ICMP Frag Needed for too small MTUs
2018-01-08 14:19:13 -05:00
tsnmap.c
ulpevent.c
sctp: implement abort_pd for sctp_stream_interleave
2017-12-11 11:23:05 -05:00
ulpqueue.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-12-22 11:16:31 -05:00