linux/arch/s390
Christian Borntraeger 134a24cd89 s390/crc32-vx: Fix checksum calculation for small sizes
The current prealign logic will fail for sizes < alignment,
as the new datalen passed to the vector function is smaller
than zero. Being a size_t this gets wrapped to a huge
number causing memory overruns and wrong data.

Let's add an early exit if the size is smaller than the minimal
size with alignment. This will also avoid calling the software
fallback twice for all sizes smaller than the minimum size
(prealign + remaining)

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Fixes: f848dbd3bc ("s390/crc32-vx: add crypto API module for optimized CRC-32 algorithms")
Reviewed-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-08-08 15:41:31 +02:00
..
appldata mm: move most file-based accounting to the node 2016-07-28 16:07:41 -07:00
boot s390: clarify compressed image code path 2016-08-08 15:41:31 +02:00
configs s390: Updated kernel config files 2016-06-15 16:37:07 +02:00
crypto s390/crc32-vx: Fix checksum calculation for small sizes 2016-08-08 15:41:31 +02:00
hypfs - ARM: GICv3 ITS emulation and various fixes. Removal of the old 2016-08-02 16:11:27 -04:00
include dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
kernel s390: clarify compressed image code path 2016-08-08 15:41:31 +02:00
kvm - ARM: GICv3 ITS emulation and various fixes. Removal of the old 2016-08-02 16:11:27 -04:00
lib s390/lib: use basic blocks for inline assemblies 2016-06-28 09:32:28 +02:00
mm - ARM: GICv3 ITS emulation and various fixes. Removal of the old 2016-08-02 16:11:27 -04:00
net s390/bpf: fix recache skb->data/hlen for skb_vlan_push/pop 2016-05-19 09:14:27 +02:00
numa s390/numa: only set possible nodes within node_possible_map 2016-07-31 05:28:00 -04:00
oprofile s390/oprofile: remove hardware sampler support 2016-06-28 09:32:22 +02:00
pci dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
tools s390/facilities: do not generate DWORDS define anymore 2016-07-31 05:27:59 -04:00
defconfig s390: Updated kernel config files 2016-06-15 16:37:07 +02:00
Kbuild s390/numa: add core infrastructure 2015-08-03 18:40:25 +02:00
Kconfig s390: enable kcov support 2016-06-28 09:32:39 +02:00
Kconfig.debug arch: consolidate CONFIG_STRICT_DEVM in lib/Kconfig.debug 2016-01-09 06:30:49 -08:00
Makefile s390/facilities: add helper tool to generate facility lists 2015-12-18 14:59:20 +01:00