Re: [RFC] crypto: xts - add check for input length equal to zero

From: Stephan Mueller
Date: Thu Mar 05 2020 - 05:39:47 EST


Am Donnerstag, 5. März 2020, 11:22:55 CET schrieb Andrei Botila:

Hi Andrei,

> From: Andrei Botila <andrei.botila@xxxxxxx>
>
> Through this RFC we try to standardize the way input lengths equal to 0
> are handled in all skcipher algorithms. Currently, in xts when an input
> has a length smaller than XTS_BLOCK_SIZE it returns -EINVAL while the
> other algorithms return 0 for input lengths equal to zero.
> The algorithms that implement this check are CBC, ARC4, CFB, OFB, SALSA20,
> CTR, ECB and PCBC, XTS being the outlier here. All of them call
> skcipher_walk_virt() which returns 0 if skcipher_walk_skcipher() finds
> that input length is equal to 0.
> This case was discovered when fuzz testing was enabled since it generates
> this input length.
> This RFC wants to find out if the approach is ok before updating the
> other xts implementations.

It may be a good idea to consolidate that. However, changing only one
implementation is not good.

All XTS implementations would need to be converted then.

Ciao
Stephan