• Jason A. Donenfeld's avatar
    selftests: vDSO: ensure vgetrandom works in a time namespace · 2aec9003
    Jason A. Donenfeld authored
    After verifying that vDSO getrandom does work, which ensures that the
    RNG is initialized, test to see if it also works inside of a time
    namespace. This is important to test, because the vvar pages get
    swizzled around there. If the arch code isn't careful, the RNG will
    appear uninitialized inside of a time namespace.
    
    Because broken code makes the RNG appear uninitialized, test that
    everything works by issuing a call to vgetrandom from a fork in a time
    namespace, and use ptrace to ensure that the actual syscall getrandom
    doesn't get called. If it doesn't get called, then the test succeeds.
    Signed-off-by: default avatarJason A. Donenfeld <Jason@zx2c4.com>
    2aec9003
vdso_test_getrandom.c 8.35 KB