|
Petr Tesarik |
312c0d |
From: Juergen Christ <jchrist@linux.ibm.com>
|
|
Petr Tesarik |
312c0d |
Date: Mon, 22 Nov 2021 14:01:34 +0100
|
|
Petr Tesarik |
312c0d |
Subject: s390/zcrypt: CCA control CPRB sending
|
|
Petr Tesarik |
312c0d |
Git-commit: cff2d3abc8da078a0447d785736204d8a0ad49b0
|
|
Petr Tesarik |
312c0d |
Patch-mainline: v5.17-rc1
|
|
Petr Tesarik |
312c0d |
References: jsc#PED-610
|
|
Petr Tesarik |
312c0d |
|
|
Petr Tesarik |
312c0d |
When sending a CCA CPRB to a control domain, the CPRB has to be sent via a
|
|
Petr Tesarik |
312c0d |
usage domain. Previous code used the default domain to route this message.
|
|
Petr Tesarik |
312c0d |
If the default domain is not online and ready to send the CPRB, the ioctl will
|
|
Petr Tesarik |
312c0d |
fail even if other usage domains could be used to send the CPRB.
|
|
Petr Tesarik |
312c0d |
|
|
Petr Tesarik |
312c0d |
To improve this, instead of using the default domain, switch to auto-select of
|
|
Petr Tesarik |
312c0d |
the domain.
|
|
Petr Tesarik |
312c0d |
|
|
Petr Tesarik |
312c0d |
Signed-off-by: Juergen Christ <jchrist@linux.ibm.com>
|
|
Petr Tesarik |
312c0d |
Reviewed-by: Harald Freudenberger <freude@linux.ibm.com>
|
|
Petr Tesarik |
312c0d |
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
|
|
Petr Tesarik |
312c0d |
Acked-by: Petr Tesarik <ptesarik@suse.com>
|
|
Petr Tesarik |
312c0d |
---
|
|
Petr Tesarik |
312c0d |
drivers/s390/crypto/zcrypt_api.c | 7 +++----
|
|
Petr Tesarik |
312c0d |
1 file changed, 3 insertions(+), 4 deletions(-)
|
|
Petr Tesarik |
312c0d |
|
|
Petr Tesarik |
312c0d |
--- a/drivers/s390/crypto/zcrypt_api.c
|
|
Petr Tesarik |
312c0d |
+++ b/drivers/s390/crypto/zcrypt_api.c
|
|
Petr Tesarik |
312c0d |
@@ -878,14 +878,13 @@ static long _zcrypt_send_cprb(bool users
|
|
Petr Tesarik |
312c0d |
|
|
Petr Tesarik |
312c0d |
/*
|
|
Petr Tesarik |
312c0d |
* If a valid target domain is set and this domain is NOT a usage
|
|
Petr Tesarik |
312c0d |
- * domain but a control only domain, use the default domain as target.
|
|
Petr Tesarik |
312c0d |
+ * domain but a control only domain, autoselect target domain.
|
|
Petr Tesarik |
312c0d |
*/
|
|
Petr Tesarik |
312c0d |
tdom = *domain;
|
|
Petr Tesarik |
312c0d |
if (tdom < AP_DOMAINS &&
|
|
Petr Tesarik |
312c0d |
!ap_test_config_usage_domain(tdom) &&
|
|
Petr Tesarik |
312c0d |
- ap_test_config_ctrl_domain(tdom) &&
|
|
Petr Tesarik |
312c0d |
- ap_domain_index >= 0)
|
|
Petr Tesarik |
312c0d |
- tdom = ap_domain_index;
|
|
Petr Tesarik |
312c0d |
+ ap_test_config_ctrl_domain(tdom))
|
|
Petr Tesarik |
312c0d |
+ tdom = AUTOSEL_DOM;
|
|
Petr Tesarik |
312c0d |
|
|
Petr Tesarik |
312c0d |
pref_zc = NULL;
|
|
Petr Tesarik |
312c0d |
pref_zq = NULL;
|