diff options
Diffstat (limited to 'crypto/aegis256.c')
-rw-r--r-- | crypto/aegis256.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/crypto/aegis256.c b/crypto/aegis256.c index 49882a28e93e..ecd6b7f34a2d 100644 --- a/crypto/aegis256.c +++ b/crypto/aegis256.c | |||
@@ -299,19 +299,19 @@ static void crypto_aegis256_process_crypt(struct aegis_state *state, | |||
299 | const struct aegis256_ops *ops) | 299 | const struct aegis256_ops *ops) |
300 | { | 300 | { |
301 | struct skcipher_walk walk; | 301 | struct skcipher_walk walk; |
302 | u8 *src, *dst; | ||
303 | unsigned int chunksize; | ||
304 | 302 | ||
305 | ops->skcipher_walk_init(&walk, req, false); | 303 | ops->skcipher_walk_init(&walk, req, false); |
306 | 304 | ||
307 | while (walk.nbytes) { | 305 | while (walk.nbytes) { |
308 | src = walk.src.virt.addr; | 306 | unsigned int nbytes = walk.nbytes; |
309 | dst = walk.dst.virt.addr; | ||
310 | chunksize = walk.nbytes; | ||
311 | 307 | ||
312 | ops->crypt_chunk(state, dst, src, chunksize); | 308 | if (nbytes < walk.total) |
309 | nbytes = round_down(nbytes, walk.stride); | ||
313 | 310 | ||
314 | skcipher_walk_done(&walk, 0); | 311 | ops->crypt_chunk(state, walk.dst.virt.addr, walk.src.virt.addr, |
312 | nbytes); | ||
313 | |||
314 | skcipher_walk_done(&walk, walk.nbytes - nbytes); | ||
315 | } | 315 | } |
316 | } | 316 | } |
317 | 317 | ||