summaryrefslogtreecommitdiff
path: root/crypto/testmgr.c
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2021-09-28 13:54:01 +0200
committerHerbert Xu <herbert@gondor.apana.org.au>2021-10-08 20:02:46 +0800
commit5c734c638aa1a3dbfd96248703e070706343284b (patch)
treeb61bfab72d5e728f4073ad094c2c73db9131c2a0 /crypto/testmgr.c
parent249067af018369c279ae20e88415b94740a29c46 (diff)
downloadlinux-crypto-5c734c638aa1a3dbfd96248703e070706343284b.tar.gz
linux-crypto-5c734c638aa1a3dbfd96248703e070706343284b.zip
crypto: testmgr - Only disable migration in crypto_disable_simd_for_test()
crypto_disable_simd_for_test() disables preemption in order to receive a stable per-CPU variable which it needs to modify in order to alter crypto_simd_usable() results. This can also be achived by migrate_disable() which forbidds CPU migrations but allows the task to be preempted. The latter is important for PREEMPT_RT since operation like skcipher_walk_first() may allocate memory which must not happen with disabled preemption on PREEMPT_RT. Use migrate_disable() in crypto_disable_simd_for_test() to achieve a stable per-CPU pointer. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to '')
-rw-r--r--crypto/testmgr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 70f69f09..58eee8ea 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -1061,14 +1061,14 @@ static void generate_random_testvec_config(struct testvec_config *cfg,
static void crypto_disable_simd_for_test(void)
{
- preempt_disable();
+ migrate_disable();
__this_cpu_write(crypto_simd_disabled_for_test, true);
}
static void crypto_reenable_simd_for_test(void)
{
__this_cpu_write(crypto_simd_disabled_for_test, false);
- preempt_enable();
+ migrate_enable();
}
/*