crypto: s390 - Respect STFL bit
Bevore issuing any s390 crypto operation check whether the CPACF facility is enabled in the facility list. That way a virtualization layer can prevent usage of the CPACF facility regardless of the availability of the crypto instructions. Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
3952f17ed6
commit
a72f0dbfd9
1 changed files with 4 additions and 0 deletions
|
@ -296,6 +296,10 @@ static inline int crypt_s390_func_available(int func)
|
||||||
unsigned char status[16];
|
unsigned char status[16];
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
/* check if CPACF facility (bit 17) is available */
|
||||||
|
if (!(stfl() & 1ULL << (31 - 17)))
|
||||||
|
return 0;
|
||||||
|
|
||||||
switch (func & CRYPT_S390_OP_MASK) {
|
switch (func & CRYPT_S390_OP_MASK) {
|
||||||
case CRYPT_S390_KM:
|
case CRYPT_S390_KM:
|
||||||
ret = crypt_s390_km(KM_QUERY, &status, NULL, NULL, 0);
|
ret = crypt_s390_km(KM_QUERY, &status, NULL, NULL, 0);
|
||||||
|
|
Loading…
Add table
Reference in a new issue