• Gustavo Luiz Duarte's avatar
    selftests/powerpc: Add tm-signal-pagefault test · 915b7f6f
    Gustavo Luiz Duarte authored
    This test triggers a TM Bad Thing by raising a signal in transactional state
    and forcing a pagefault to happen in kernelspace when the kernel signal
    handling code first touches the user signal stack.
    
    This is inspired by the test tm-signal-context-force-tm but uses userfaultfd to
    make the test deterministic. While this test always triggers the bug in one
    run, I had to execute tm-signal-context-force-tm several times (the test runs
    5000 times each execution) to trigger the same bug.
    
    tm-signal-context-force-tm is kept instead of replaced because, while this test
    is more reliable and triggers the same bug, tm-signal-context-force-tm has a
    better coverage, in the sense that by running the test several times it might
    trigger the pagefault and/or be preempted at different places.
    
    v3: skip test if userfaultfd is unavailable.
    Signed-off-by: default avatarGustavo Luiz Duarte <gustavold@linux.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20200211033831.11165-2-gustavold@linux.ibm.com
    915b7f6f
tm-signal-pagefault.c 7.47 KB