OSDN Git Service

sctp: get sctphdr by offset in sctp_compute_cksum
authorXin Long <lucien.xin@gmail.com>
Mon, 18 Mar 2019 11:47:00 +0000 (19:47 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 19 Mar 2019 01:16:12 +0000 (18:16 -0700)
commit273160ffc6b993c7c91627f5a84799c66dfe4dee
tree8429227bffe3b709ddce84b0e841a8ccb851f6b9
parent18bed89107a400af0d672ec85a270f1545db2569
sctp: get sctphdr by offset in sctp_compute_cksum

sctp_hdr(skb) only works when skb->transport_header is set properly.

But in Netfilter, skb->transport_header for ipv6 is not guaranteed
to be right value for sctphdr. It would cause to fail to check the
checksum for sctp packets.

So fix it by using offset, which is always right in all places.

v1->v2:
  - Fix the changelog.

Fixes: e6d8b64b34aa ("net: sctp: fix and consolidate SCTP checksumming code")
Reported-by: Li Shuang <shuali@redhat.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/checksum.h