• Martin Schwidefsky's avatar
    s390/nmi: do register validation as early as possible · 3037a52f
    Martin Schwidefsky authored
    The validation of the CPU registers in the machine check handler is
    currently split into two parts. The first part is done at the start
    of the low level mcck_int_handler function, this includes the CPU
    timer register and the general purpose registers.
    The second part is done a bit later in s390_do_machine_check for all
    the other registers, including the control registers, floating pointer
    control, vector or floating pointer registers, the access registers,
    the guarded storage registers, the TOD programmable registers and the
    clock comparator.
    
    This is working fine to far but in theory a future extensions could
    cause the C code to use registers that are not validated yet. A better
    approach is to validate all CPU registers in "safe" assembler code
    before any C function is called.
    Reviewed-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    3037a52f
nmi.c 12.5 KB