Я новичок ie в Linux драйвере. Сейчас я тестирую свой криптодрайвер Linux. Однако у меня есть некоторая ошибка ядра cra sh, связанная с этим массивом указателей. На мой взгляд, этот массив указателей связан с массивом переменной длины в структуре (VLAIS). Я провел небольшое исследование о том, как работает void *__ctx[] CRYPTO_MINALIGN_ATTR
, но так и не понял. Может ли кто-нибудь помочь мне прояснить этот тип и как он работает? Заранее благодарим.
Это расположение этого типа ( 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;
};