Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6ed54387 authored by Jan Glauber's avatar Jan Glauber Committed by Martin Schwidefsky
Browse files

[S390] crypto: avoid MSA3 and MSA4 instructions in ESA mode



MSA3 and MSA4 instructions are only available under CONFIG_64BIT.
Bail out before using any of these instructions if the kernel is
running in 31 bit mode.

Signed-off-by: default avatarJan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent cfa1e7e1
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -368,9 +368,12 @@ static inline int crypt_s390_func_available(int func,

	if (facility_mask & CRYPT_S390_MSA && !test_facility(17))
		return 0;
	if (facility_mask & CRYPT_S390_MSA3 && !test_facility(76))

	if (facility_mask & CRYPT_S390_MSA3 &&
	    (!test_facility(2) || !test_facility(76)))
		return 0;
	if (facility_mask & CRYPT_S390_MSA4 && !test_facility(77))
	if (facility_mask & CRYPT_S390_MSA4 &&
	    (!test_facility(2) || !test_facility(77)))
		return 0;

	switch (func & CRYPT_S390_OP_MASK) {