s390/checksum: Fix csum_partial() without vector facility
authorVasily Gorbik <gor@linux.ibm.com>
Wed, 8 Jul 2026 10:02:14 +0000 (12:02 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Wed, 15 Jul 2026 15:35:42 +0000 (17:35 +0200)
commit4bb06b60d982355e22647b3d12d6619419f8c1fa
treef86e41c4ed03e2bfae46516cac5cb5e11528da80
parent7d5c2f679147859c1db97d9f66366ff16909abee
s390/checksum: Fix csum_partial() without vector facility

Currently csum_partial() calls csum_copy() with copy=false and dst=NULL.
On machines without the vector facility, csum_copy() falls back to
cksm(dst, ...), causing the checksum to be calculated from address zero
instead of the source buffer.

The VX implementation already checksums data loaded from src. Make the
fallback do the same by passing src to cksm().

Fixes: dcd3e1de9d17 ("s390/checksum: provide csum_partial_copy_nocheck()")
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/lib/csum-partial.c