• Breno Leitao's avatar
    selftests/powerpc: Add a signal fuzzer selftest · 83e367f9
    Breno Leitao authored
    This is a new selftest that raises SIGUSR1 signals and handles it in a
    set of different ways, trying to create different scenario for testing
    purpose.
    
    This test works raising a signal and calling sigreturn interleaved
    with TM operations, as starting, suspending and terminating a
    transaction. The test depends on random numbers, and, based on them,
    it sets different TM states.
    
    Other than that, the test fills out the user context struct that is
    passed to the sigreturn system call with random data, in order to make
    sure that the signal handler syscall can handle different and invalid
    states properly.
    
    This selftest has command line parameters to control what kind of
    tests the user wants to run, as for example, if a transaction should
    be started prior to signal being raised, or, after the signal being
    raised and before the sigreturn. If no parameter is given, the default
    is enabling all options.
    
    This test does not check if the user context is being read and set
    properly by the kernel. Its purpose, at this time, is basically
    guaranteeing that the kernel does not crash on invalid scenarios.
    Signed-off-by: default avatarBreno Leitao <leitao@debian.org>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    83e367f9
sigfuz.c 8.69 KB