• Martin Schwidefsky's avatar
    s390/sclp: clear upper register halves in _sclp_print_early · f9c87a6f
    Martin Schwidefsky authored
    If the kernel is compiled with gcc 5.1 and the XZ compression option
    the decompress_kernel function calls _sclp_print_early in 64-bit mode
    while the content of the upper register half of %r6 is non-zero.
    This causes a specification exception on the servc instruction in
    _sclp_servc.
    
    The _sclp_print_early function saves and restores the upper registers
    halves but it fails to clear them for the 31-bit code of the mini sclp
    driver.
    
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    f9c87a6f
sclp.S 8.14 KB