I'm a newbie in Linux driver. Now, I am testing my Linux crypto driver. However, I have some kernel crash bug related to this pointer array. In my opinion, this pointer array is related to a Variable Length Array In Struct (VLAIS). I did some research about how void *__ctx[] CRYPTO_MINALIGN_ATTR
work but still didn't understand. Can anyone help me clarify this type and how it work? Thank in advance.
This is the location of this type (include/crypto/aead.h):
struct aead_request { struct crypto_async_request base; unsigned int assoclen; unsigned int cryptlen; u8 *iv; struct scatterlist *src; struct scatterlist *dst; void *__ctx[] CRYPTO_MINALIGN_ATTR;};