> { > u8 d[AES_BLOCK_SIZE], tmp[AES_BLOCK_SIZE]; > + struct shash_desc *desc; > + u8 buf[sizeof(*desc) + crypto_shash_descsize(tfm)] > CRYPTO_MINALIGN_ATTR; > size_t i; > - const u8 *data[2]; > - size_t data_len[2], data_elems; > + > + desc = (struct shash_desc *)buf; > + desc->tfm = tfm; > > + crypto_shash_digest(desc, (u8[AES_BLOCK_SIZE]){}, > AES_BLOCK_SIZE, d); That's an interesting expression in there. Can we name it into a real variable? :) I'm also slightly worried about stack usage now - do we know none of this goes into an sg list eventually? johannes