arm64: csum: Fix handling of bad packets
authorRobin Murphy <robin.murphy@arm.com>
Thu, 30 Jul 2020 09:56:49 +0000 (10:56 +0100)
committerWill Deacon <will@kernel.org>
Thu, 30 Jul 2020 16:01:38 +0000 (17:01 +0100)
commit05fb3dbda187bbd9cc1cd0e97e5d6595af570ac6
tree6997394455a6b7db8d4617380a8a52ca79f4ac9b
parent835d1c3a98799914db8aee0973018af21128cd1e
arm64: csum: Fix handling of bad packets

Although iph is expected to point to at least 20 bytes of valid memory,
ihl may be bogus, for example on reception of a corrupt packet. If it
happens to be less than 5, we really don't want to run away and
dereference 16GB worth of memory until it wraps back to exactly zero...

Fixes: 0e455d8e80aa ("arm64: Implement optimised IP checksum helpers")
Reported-by: guodeqing <geffrey.guo@huawei.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/include/asm/checksum.h