• Harald Freudenberger's avatar
    s390/zcrypt: fix specification exception on z196 during ap probe · 4bbf187b
    Harald Freudenberger authored
    commit 8f9aca0c upstream.
    
    The older machines don't have the QCI instruction available.
    With support for up to 256 crypto cards the probing of each
    card has been extended to check card ids from 0 up to 255.
    For machines with QCI support there is a filter limiting the
    range of probed cards. The older machines (z196 and older)
    don't have this filter and so since support for 256 cards is
    in the driver all cards are probed. However, these machines
    also require to have the card id fit into 6 bits. Exceeding
    this limit results in a specification exception which happens
    on every kernel startup even when there is no crypto configured
    and used at all.
    
    This fix limits the range of probed crypto cards to 64 if
    there is no QCI instruction available to obey to the older
    ap architecture and so fixes the specification exceptions
    on z196 machines.
    
    Cc: stable@vger.kernel.org # v4.17+
    Fixes: af4a7227 ("s390/zcrypt: Support up to 256 crypto adapters.")
    Signed-off-by: default avatarHarald Freudenberger <freude@linux.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    4bbf187b
Name
Last commit
Last update
..
Makefile Loading commit data...
ap_bus.c Loading commit data...
ap_bus.h Loading commit data...
ap_card.c Loading commit data...
ap_debug.h Loading commit data...
ap_queue.c Loading commit data...
pkey_api.c Loading commit data...
vfio_ap_drv.c Loading commit data...
vfio_ap_ops.c Loading commit data...
vfio_ap_private.h Loading commit data...
zcrypt_api.c Loading commit data...
zcrypt_api.h Loading commit data...
zcrypt_card.c Loading commit data...
zcrypt_cca_key.h Loading commit data...
zcrypt_cex2a.c Loading commit data...
zcrypt_cex2a.h Loading commit data...
zcrypt_cex2c.c Loading commit data...
zcrypt_cex2c.h Loading commit data...
zcrypt_cex4.c Loading commit data...
zcrypt_cex4.h Loading commit data...
zcrypt_debug.h Loading commit data...
zcrypt_error.h Loading commit data...
zcrypt_msgtype50.c Loading commit data...
zcrypt_msgtype50.h Loading commit data...
zcrypt_msgtype6.c Loading commit data...
zcrypt_msgtype6.h Loading commit data...
zcrypt_queue.c Loading commit data...