From: Eric Biggers <ebiggers3@xxxxxxxxx> Date: Thu, 23 Mar 2017 13:39:46 -0700 > From: Eric Biggers <ebiggers@xxxxxxxxxx> > > In the generic XTS and LRW algorithms, for input data > 128 bytes, a > temporary buffer is allocated to hold the values to be XOR'ed with the > data before and after encryption or decryption. If the allocation > fails, the fixed-size buffer embedded in the request buffer is meant to > be used as a fallback --- resulting in more calls to the ECB algorithm, > but still producing the correct result. However, we weren't correctly > limiting subreq->cryptlen in this case, resulting in pre_crypt() > overrunning the embedded buffer. Fix this by setting subreq->cryptlen > correctly. > > Fixes: f1c131b45410 ("crypto: xts - Convert to skcipher") > Fixes: 700cb3f5fe75 ("crypto: lrw - Convert to skcipher") > Cc: stable@xxxxxxxxxxxxxxx # v4.10+ > Reported-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx> > Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx>