Confira !!
Durante o verão, Jason Donenfeld, do WireGuard, propôs adicionar getrandom() ao vDSO para obter melhor desempenho para os desenvolvedores do espaço do usuário. Na semana passada, ele enviou a versão mais recente deste patch de kernel proposto, onde ele está vendo uma aceleração de ~ 15x com essa mudança.
O suporte a getrandom() no vDSO foi projetado para resolver dois problemas enfrentados pelos desenvolvedores de espaço do usuário:
1) Userspace quer números aleatórios criptograficamente seguros mais rápidos de tamanho arbitrário, grande ou pequeno.
2) O espaço de usuário atualmente não pode rolar com segurança seu próprio RNG com o mesmo perfil de segurança de getrandom().
Após discussões sobre a implementação de getrandom() no vDSO, Donenfeld revisou o patch para incorporar feedback para evitar mudanças de comportamento e tornar vgetrandom_alloc uma chamada de sistema. Além disso, existem algumas outras correções/alterações menores.
Jason terminou o post da v3 com:
Até agora, nos resultados do meu teste, o desempenho é bastante estelar (cerca de 15x para a geração uint32_t) e parece estar funcionando. Existem alguns bits TODO com a integração real do tempo de vida do random.c, mas como um conjunto de patches inicial, isso pelo menos apresenta a interface pretendida.
Os leitores também podem estar interessados em uma palestra de Jason no LPC 2022 sobre o trabalho que ele está fazendo no gerador de números aleatórios do Linux. O vídeo está abaixo e há também o deck de slides .
Até a próxima !!
Nenhum comentário:
Postar um comentário