Помощь с void * __ ctx [] CRYPTO_MINALIGN_ATTR в struct aead_request (криптографическая подсистема в Linux ядре) - PullRequest
0 голосов
/ 04 августа 2020

Я новичок 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;
};
...