2018-03-15 10:54 GMT+01:00 Herbert Xu [off-list ref]:
On Wed, Mar 14, 2018 at 02:17:30PM +0100, Salvatore Mesoraca wrote:
quoted
All ciphers implemented in Linux have a block size less than or
equal to 16 bytes and the most demanding hw require 16 bits
alignment for the block buffer.
We avoid 2 VLAs[1] by always allocating 16 bytes with 16 bits
alignment, unless the architecture support efficient unaligned
accesses.
We also check, at runtime, that our assumptions still stand,
possibly dynamically allocating a new buffer, just in case
something changes in the future.
Please move the check to ctr instance creation time. That is,
if the underlying blocksize is greater than 16 bytes than simply
fail the creation.
Good, I'll send a v2.
Thank you for your help,
Salvatore