Não sei se há um tutorial atualizado no mesmo estilo, mas as alterações são limitadas:
-
arch/x86/vdsofoi movido paraarch/x86/entry/vdso; - as declarações de variáveis foram muito simplificadas .
O último significa que você só precisa declarar sua variável uma vez, em arch/x86/include/asm/vvar.h , em um deslocamento fixo, com a macro DECLARE_VVAR . Para defini-lo, use a macro DEFINE_VVAR ; para acessá-lo, use a macro VVAR . O commit vinculado acima possui vários exemplos (todos os usos existentes de variáveis compartilhadas).
Você não pode recriar o comportamento de um syscall arbitrário no vDSO, pelo menos não sem chamar o kernel no modo kernel. O vDSO só é realmente útil para chamadas que podem ser manipuladas no espaço do usuário; não há muitos desses.