]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
s390/zcrypt: Fix wrong dispatching for control domain CPRBs
authorHarald Freudenberger <freude@linux.ibm.com>
Tue, 21 May 2019 11:50:09 +0000 (13:50 +0200)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 28 May 2019 12:49:38 +0000 (14:49 +0200)
commit7379e652797c0b9b5f6caea1576f2dff9ce6a708
treee961b5617c10a79bd594bc1b7db433d49c39d993
parentdcd33b23c9f322274efb94d6e86370bac2b3c68f
s390/zcrypt: Fix wrong dispatching for control domain CPRBs

The zcrypt device driver does not handle CPRBs which address
a control domain correctly. This fix introduces a workaround:
The domain field of the request CPRB is checked if there is
a valid domain value in there. If this is true and the value
is a control only domain (a domain which is enabled in the
crypto config ADM mask but disabled in the AQM mask) the
CPRB is forwarded to the default usage domain. If there is
no default domain, the request is rejected with an ENODEV.

This fix is important for maintaining crypto adapters. For
example one LPAR can use a crypto adapter domain ('Control
and Usage') but another LPAR needs to be able to maintain
this adapter domain ('Control'). Scenarios like this did
not work properly and the patch enables this.

Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
arch/s390/include/asm/ap.h
drivers/s390/crypto/ap_bus.c
drivers/s390/crypto/ap_bus.h
drivers/s390/crypto/zcrypt_api.c