• Dan Williams's avatar
    x86, nfit_test: Add unit test for memcpy_mcsafe() · 5d8beee2
    Dan Williams authored
    Given the fact that the ACPI "EINJ" (error injection) facility is not
    universally available, implement software infrastructure to validate the
    memcpy_mcsafe() exception handling implementation.
    
    For each potential read exception point in memcpy_mcsafe(), inject a
    emulated exception point at the address identified by 'mcsafe_inject'
    variable. With this infrastructure implement a test to validate that the
    'bytes remaining' calculation is correct for a range of various source
    buffer alignments.
    
    This code is compiled out by default. The CONFIG_MCSAFE_DEBUG
    configuration symbol needs to be manually enabled by editing
    Kconfig.debug. I.e. this functionality can not be accidentally enabled
    by a user / distro, it's only for development.
    
    Cc: <x86@kernel.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Reported-by: default avatarTony Luck <tony.luck@intel.com>
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    5d8beee2
mcsafe_test.h 1.38 KB