@ -325,7 +325,8 @@ static int ecb_aes_crypt(struct blkcipher_desc *desc, long func, void *param,
u8 * in = walk - > src . virt . addr ;
ret = crypt_s390_km ( func , param , out , in , n ) ;
BUG_ON ( ( ret < 0 ) | | ( ret ! = n ) ) ;
if ( ret < 0 | | ret ! = n )
return - EIO ;
nbytes & = AES_BLOCK_SIZE - 1 ;
ret = blkcipher_walk_done ( desc , walk , nbytes ) ;
@ -457,7 +458,8 @@ static int cbc_aes_crypt(struct blkcipher_desc *desc, long func, void *param,
u8 * in = walk - > src . virt . addr ;
ret = crypt_s390_kmc ( func , param , out , in , n ) ;
BUG_ON ( ( ret < 0 ) | | ( ret ! = n ) ) ;
if ( ret < 0 | | ret ! = n )
return - EIO ;
nbytes & = AES_BLOCK_SIZE - 1 ;
ret = blkcipher_walk_done ( desc , walk , nbytes ) ;
@ -625,7 +627,8 @@ static int xts_aes_crypt(struct blkcipher_desc *desc, long func,
memcpy ( xts_ctx - > pcc . tweak , walk - > iv , sizeof ( xts_ctx - > pcc . tweak ) ) ;
param = xts_ctx - > pcc . key + offset ;
ret = crypt_s390_pcc ( func , param ) ;
BUG_ON ( ret < 0 ) ;
if ( ret < 0 )
return - EIO ;
memcpy ( xts_ctx - > xts_param , xts_ctx - > pcc . xts , 16 ) ;
param = xts_ctx - > key + offset ;
@ -636,7 +639,8 @@ static int xts_aes_crypt(struct blkcipher_desc *desc, long func,
in = walk - > src . virt . addr ;
ret = crypt_s390_km ( func , param , out , in , n ) ;
BUG_ON ( ret < 0 | | ret ! = n ) ;
if ( ret < 0 | | ret ! = n )
return - EIO ;
nbytes & = AES_BLOCK_SIZE - 1 ;
ret = blkcipher_walk_done ( desc , walk , nbytes ) ;
@ -769,7 +773,8 @@ static int ctr_aes_crypt(struct blkcipher_desc *desc, long func,
crypto_inc ( ctrblk + i , AES_BLOCK_SIZE ) ;
}
ret = crypt_s390_kmctr ( func , sctx - > key , out , in , n , ctrblk ) ;
BUG_ON ( ret < 0 | | ret ! = n ) ;
if ( ret < 0 | | ret ! = n )
return - EIO ;
if ( n > AES_BLOCK_SIZE )
memcpy ( ctrblk , ctrblk + n - AES_BLOCK_SIZE ,
AES_BLOCK_SIZE ) ;
@ -788,7 +793,8 @@ static int ctr_aes_crypt(struct blkcipher_desc *desc, long func,
in = walk - > src . virt . addr ;
ret = crypt_s390_kmctr ( func , sctx - > key , buf , in ,
AES_BLOCK_SIZE , ctrblk ) ;
BUG_ON ( ret < 0 | | ret ! = AES_BLOCK_SIZE ) ;
if ( ret < 0 | | ret ! = AES_BLOCK_SIZE )
return - EIO ;
memcpy ( out , buf , nbytes ) ;
crypto_inc ( ctrblk , AES_BLOCK_SIZE ) ;
ret = blkcipher_walk_done ( desc , walk , 0 ) ;