Problem occurs in the condition of the following case:
1st decryption:
Decrypt a ciphertext whose length is a multiple of the block size (16B)
(len = n * block_size)
2nd decryption:
Decrypt the continuing ciphertext whose length is not a multiple of the
block size
(len = m * block_size + l)
In this case accel_ctr_encrypt() is firstly used at the 2nd decryption.
If pt and ct are not updated, the top (l = len % block_size) bytes of
decryption result are sometimes destroyed.
From: Tetsuya Yoshizaki <[email protected]>
Signed-off-by: Tetsuya Yoshizaki <[email protected]>
Signed-off-by: Victor Chong <[email protected]>
(cherry picked from commit d1d3ae2d1e705f36e7d313aa4a9b61c0a146ee44)