linux/drivers/s390/crypto
Harald Freudenberger 8f9aca0c45 s390/zcrypt: fix specification exception on z196 during ap probe
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: af4a72276d ("s390/zcrypt: Support up to 256 crypto adapters.")
Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2019-01-28 15:43:17 +01:00
..
ap_bus.c s390/zcrypt: fix specification exception on z196 during ap probe 2019-01-28 15:43:17 +01:00
ap_bus.h s390/zcrypt: reinit ap queue state machine during device probe 2018-11-27 10:43:35 +01:00
ap_card.c s390/zcrypt: code beautify 2018-08-20 16:02:11 +02:00
ap_debug.h s390/zcrypt: Make ap init functions static. 2018-04-10 07:39:01 +02:00
ap_queue.c s390/zcrypt: make sysfs reset attribute trigger queue reset 2018-12-13 10:42:26 +01:00
Makefile KVM updates for v4.20 2018-10-25 17:57:35 -07:00
pkey_api.c s390/pkey: move pckmo subfunction available checks away from module init 2018-10-22 08:37:46 +02:00
vfio_ap_drv.c s390: vfio-ap: include <asm/facility> for test_facility() 2018-11-30 07:22:04 +01:00
vfio_ap_ops.c s390: vfio-ap: make local functions and data static 2018-10-08 12:13:05 +02:00
vfio_ap_private.h s390: vfio-ap: implement mediated device open callback 2018-09-28 15:50:09 +02:00
zcrypt_api.c s390/zcrypt: fix broken zcrypt_send_cprb in-kernel api function 2018-10-15 12:16:57 +02:00
zcrypt_api.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_card.c s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_cca_key.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_cex2a.c s390/zcrypt: reinit ap queue state machine during device probe 2018-11-27 10:43:35 +01:00
zcrypt_cex2a.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_cex2c.c s390/zcrypt: reinit ap queue state machine during device probe 2018-11-27 10:43:35 +01:00
zcrypt_cex2c.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_cex4.c s390/zcrypt: reinit ap queue state machine during device probe 2018-11-27 10:43:35 +01:00
zcrypt_cex4.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
zcrypt_debug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
zcrypt_error.h s390/zcrypt: improve special ap message cmd handling 2018-11-30 07:22:05 +01:00
zcrypt_msgtype6.c s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_msgtype6.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_msgtype50.c s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_msgtype50.h s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00
zcrypt_queue.c s390/zcrypt: zcrypt device driver cleanup 2018-10-09 11:21:35 +02:00