summaryrefslogtreecommitdiffstats
path: root/net/ipv6/reassembly.c
diff options
context:
space:
mode:
authorDavide Caratti <dcaratti@redhat.com>2017-05-25 19:14:56 +0200
committerDavid S. Miller <davem@davemloft.net>2017-05-26 14:40:46 -0400
commit804ec7ebe8ea003999ca8d1bfc499edc6a9e07df (patch)
tree6c8adcda50565f9a5f6db8bcf11d606af5fbcee6 /net/ipv6/reassembly.c
parent0908cf4dfef35fc6ac12329007052ebe93ff1081 (diff)
downloadlinux-804ec7ebe8ea003999ca8d1bfc499edc6a9e07df.tar.gz
linux-804ec7ebe8ea003999ca8d1bfc499edc6a9e07df.tar.bz2
linux-804ec7ebe8ea003999ca8d1bfc499edc6a9e07df.zip
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>
Diffstat (limited to 'net/ipv6/reassembly.c')
0 files changed, 0 insertions, 0 deletions