On 11/22/2021 7:47 PM, Stephan Mueller wrote:
Am Montag, 22. November 2021, 11:33:26 CET schrieb kernel test robot:
Hi,
All errors (new ones prefixed by >>):
drivers/char/lrng/lrng_chacha20.c:32:8: error: structure variable
'chacha20' with 'latent_entropy' attribute has a non-integer field
'block'
32 | struct chacha20_state chacha20 __latent_entropy;
| ^~~~~~~~~~~~~~
vim +32 drivers/char/lrng/lrng_chacha20.c
Thanks for the notification.
I think this is a false-positive discussed before. __latent_entropy is
seemingly allowed for an entire linear buffer as seen in the declaration of
the variable input_pool_data in driver/char/random.c which is an array of u32.
The struct chacha20_state is a linear buffer of u32 words.
struct chacha20_block {
u32 constants[4];
union {
u32 u[CHACHA_KEY_SIZE_WORDS];
u8 b[CHACHA_KEY_SIZE];
} key;
u32 counter;
u32 nonce[3];
};
Therefore it should be identical to the aforementioned example. The
__latent_entropy marker therefore seems to be appropriate for this structure.
Ciao
Stephan
Hi Stephan,
Thanks for the explanation, we'll add the error to the ignore list.
Best Regards,
Rong Chen