]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
s390/zcrypt: handle new reply code FILTERED_BY_HYPERVISOR
authorHarald Freudenberger <freude@linux.ibm.com>
Wed, 20 Nov 2019 10:44:31 +0000 (11:44 +0100)
committerVasily Gorbik <gor@linux.ibm.com>
Sat, 30 Nov 2019 09:52:44 +0000 (10:52 +0100)
This patch introduces support for a new architectured reply
code 0x8B indicating that a hypervisor layer (if any) has
rejected an ap message.

Linux may run as a guest on top of a hypervisor like zVM
or KVM. So the crypto hardware seen by the ap bus may be
restricted by the hypervisor for example only a subset like
only clear key crypto requests may be supported. Other
requests will be filtered out - rejected by the hypervisor.
The new reply code 0x8B will appear in such cases and needs
to get recognized by the ap bus and zcrypt device driver zoo.

Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
drivers/s390/crypto/zcrypt_error.h

index f34ee41cbed88df1ff2a8e870db9e16f97baa3a3..4f4dd9d727c9e6a77c8c3c3bbecf997a22634059 100644 (file)
@@ -61,6 +61,7 @@ struct error_hdr {
 #define REP82_ERROR_EVEN_MOD_IN_OPND       0x85
 #define REP82_ERROR_RESERVED_FIELD         0x88
 #define REP82_ERROR_INVALID_DOMAIN_PENDING  0x8A
+#define REP82_ERROR_FILTERED_BY_HYPERVISOR  0x8B
 #define REP82_ERROR_TRANSPORT_FAIL         0x90
 #define REP82_ERROR_PACKET_TRUNCATED       0xA0
 #define REP82_ERROR_ZERO_BUFFER_LEN        0xB0
@@ -91,6 +92,7 @@ static inline int convert_error(struct zcrypt_queue *zq,
        case REP82_ERROR_INVALID_DOMAIN_PRECHECK:
        case REP82_ERROR_INVALID_DOMAIN_PENDING:
        case REP82_ERROR_INVALID_SPECIAL_CMD:
+       case REP82_ERROR_FILTERED_BY_HYPERVISOR:
        //   REP88_ERROR_INVALID_KEY            // '82' CEX2A
        //   REP88_ERROR_OPERAND                // '84' CEX2A
        //   REP88_ERROR_OPERAND_EVEN_MOD       // '85' CEX2A