crypto: sun4i_ss_prng - convert lock to _bh in sun4i_ss_prng_generate
commit2e7d1d61ea
upstream. Lockdep detects a possible deadlock in sun4i_ss_prng_generate() and throws an "inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage" warning. Disabling softirqs to fix this. Fixes:b8ae5c7387
("crypto: sun4i-ss - support the Security System PRNG") Signed-off-by: Artem Savkov <artem.savkov@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
b3d33c5f29
Коммит
14d87b7103
|
@ -28,7 +28,7 @@ int sun4i_ss_prng_generate(struct crypto_rng *tfm, const u8 *src,
|
|||
algt = container_of(alg, struct sun4i_ss_alg_template, alg.rng);
|
||||
ss = algt->ss;
|
||||
|
||||
spin_lock(&ss->slock);
|
||||
spin_lock_bh(&ss->slock);
|
||||
|
||||
writel(mode, ss->base + SS_CTL);
|
||||
|
||||
|
@ -51,6 +51,6 @@ int sun4i_ss_prng_generate(struct crypto_rng *tfm, const u8 *src,
|
|||
}
|
||||
|
||||
writel(0, ss->base + SS_CTL);
|
||||
spin_unlock(&ss->slock);
|
||||
spin_unlock_bh(&ss->slock);
|
||||
return 0;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче