tmp_suning_uos_patched/net/sctp
Davide Caratti 804ec7ebe8 sctp: fix ICMP processing if skb is non-linear
sometimes ICMP replies to INIT chunks are ignored by the client, even if
the encapsulated SCTP headers match an open socket. This happens when the
ICMP packet is carried by a paged skb: use skb_header_pointer() to read
packet contents beyond the SCTP header, so that chunk header and initiate
tag are validated correctly.

v2:
- don't use skb_header_pointer() to read the transport header, since
  icmp_socket_deliver() already puts these 8 bytes in the linear area.
- change commit message to make specific reference to INIT chunks.

Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Acked-by: Vlad Yasevich <vyasevich@gmail.com>
Reviewed-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-26 14:40:46 -04:00
..
associola.c sctp: fix stream update when processing dupcookie 2017-05-24 15:21:04 -04:00
auth.c
bind_addr.c
chunk.c
debug.c
endpointola.c
input.c sctp: fix ICMP processing if skb is non-linear 2017-05-26 14:40:46 -04:00
inqueue.c
ipv6.c sctp: do not inherit ipv6_{mc|ac|fl}_list from parent 2017-05-18 10:24:08 -04:00
Kconfig
Makefile
objcnt.c
offload.c
output.c sctp: get sock from transport in sctp_transport_update_pmtu 2017-04-05 07:20:06 -07:00
outqueue.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
primitive.c
probe.c
proc.c
protocol.c
sctp_diag.c
sm_make_chunk.c sctp: set new_asoc temp when processing dupcookie 2017-05-24 15:21:04 -04:00
sm_sideeffect.c
sm_statefuns.c sctp: set new_asoc temp when processing dupcookie 2017-05-24 15:21:04 -04:00
sm_statetable.c
socket.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-15 21:16:30 -04:00
stream.c sctp: process duplicated strreset asoc request correctly 2017-04-18 13:39:50 -04:00
sysctl.c
transport.c sctp: get sock from transport in sctp_transport_update_pmtu 2017-04-05 07:20:06 -07:00
tsnmap.c
ulpevent.c
ulpqueue.c