On 04/05/2018 03:46 AM, Marcel Holtmann wrote:

By the way, what is you opinion on replacing crypto_shash_descsize(ctx) with 
PAGE_SIZE / 8 in SHASH_DESC_ON_STACK?

Does it work for you?

isn’t that just waste?


Agree.

The macro itself is this.

#define SHASH_DESC_ON_STACK(shash, ctx)                           \
         char __##shash##_desc[sizeof(struct shash_desc) +         \
                 crypto_shash_descsize(ctx)] CRYPTO_MINALIGN_ATTR; \
         struct shash_desc *shash = (struct shash_desc *)__##shash##_desc

For AES-CMAC, we could always do this with a manual macro that gives us the 
right size. However that is error prone if any internals change. I think what 
has to happened that crypto_shash_decsize becomes something the compiler can 
evaluate at compile time.


Yeah. That would imply an analysis of the algorithm each of the callers use. In the case of AES-CMAC, what is the maximum digest size?

I tried to find a fixed-length value for AES-CMAC but I didn't get any output with git grep -n _DIGEST_SIZE | grep AES

Thanks
--
Gustavo

Reply via email to