]> git.baikalelectronics.ru Git - kernel.git/commit
ipv6: raw: Deduct extension header length in rawv6_push_pending_frames
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 10 Jan 2023 00:59:06 +0000 (08:59 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Jan 2023 10:58:19 +0000 (11:58 +0100)
commit3145eeee634a12df124947a4a02d08c20a507642
treec40b2979fd0c10f0431df3993c63d9a8e0bf5f9c
parentcfbc23b57651c1a9b7a7d26d429141a7add1bfc0
ipv6: raw: Deduct extension header length in rawv6_push_pending_frames

commit cb3e9864cdbe35ff6378966660edbcbac955fe17 upstream.

The total cork length created by ip6_append_data includes extension
headers, so we must exclude them when comparing them against the
IPV6_CHECKSUM offset which does not include extension headers.

Reported-by: Kyle Zeng <zengyhkyle@gmail.com>
Fixes: 18dd928990df ("[IPV6]: IPV6_CHECKSUM socket option can corrupt kernel memory")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv6/raw.c