29 Jun, 2020

1 commit

  • Add a selftest for the usage of FPU code in kernel mode.

    Currently only implemented for x86. In the future, kernel FPU testing
    could be unified between the different architectures supporting it.

    [ bp:

    - Split out from a conglomerate patch, put comments over statements.
    - run the test only on debugfs write.
    - Add bare-minimum run_test_fpu.sh, run 1000 iterations on all CPUs
    by default.
    - Add conditionally -msse2 so that clang doesn't generate library
    calls.
    - Use cc-option to detect gcc 7.1 not supporting -mpreferred-stack-boundary=3 (amluto).
    - Document stuff so that we don't forget.
    - Fix:
    ld: lib/test_fpu.o: in function `test_fpu_get':
    >> test_fpu.c:(.text+0x16e): undefined reference to `__sanitizer_cov_trace_cmpd'
    >> ld: test_fpu.c:(.text+0x1a7): undefined reference to `__sanitizer_cov_trace_cmpd'
    ld: test_fpu.c:(.text+0x1e0): undefined reference to `__sanitizer_cov_trace_cmpd'
    ]

    Reported-by: kernel test robot
    Signed-off-by: Petteri Aimonen
    Signed-off-by: Borislav Petkov
    Reviewed-by: Nick Desaulniers
    Link: https://lkml.kernel.org/r/20200624114646.28953-3-bp@alien8.de

    Petteri Aimonen