]> 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)
commitdf3e60d6336744915961ebe78d8b97ea7fa5dc80
treec40b2979fd0c10f0431df3993c63d9a8e0bf5f9c
parentfbaed999c06c639400afa3fc7a3e2b236494b27c
ipv6: raw: Deduct extension header length in rawv6_push_pending_frames

commit 36d4a8e85e402d32b0c61f11e5cd3195e31904e8 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