diff options
author | Steffen Klassert <steffen.klassert@secunet.com> | 2010-07-20 08:52:20 +0200 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2010-07-26 14:13:59 +0800 |
commit | cc74f4bc111e9554bcd6445ad0fe1d90e5d2eb34 (patch) | |
tree | 9848a74caacea30210ed680362fe8ee0aec51a69 /crypto | |
parent | 7424713b83587006da72da84d7922471e366faba (diff) | |
download | linux-arm64-cc74f4bc111e9554bcd6445ad0fe1d90e5d2eb34.tar.gz linux-arm64-cc74f4bc111e9554bcd6445ad0fe1d90e5d2eb34.tar.bz2 linux-arm64-cc74f4bc111e9554bcd6445ad0fe1d90e5d2eb34.zip |
crypto: pcrypt - Dont calulate a callback cpu on empty callback cpumask
If the callback cpumask is empty, we crash with a division by zero
when we try to calculate a callback cpu. So we don't update the callback
cpu in pcrypt_do_parallel if the callback cpumask is empty.
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/pcrypt.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/crypto/pcrypt.c b/crypto/pcrypt.c index 7153a50bce2..794c172b99f 100644 --- a/crypto/pcrypt.c +++ b/crypto/pcrypt.c @@ -82,6 +82,9 @@ static int pcrypt_do_parallel(struct padata_priv *padata, unsigned int *cb_cpu, if (cpumask_test_cpu(cpu, cpumask->mask)) goto out; + if (!cpumask_weight(cpumask->mask)) + goto out; + cpu_index = cpu % cpumask_weight(cpumask->mask); cpu = cpumask_first(cpumask->mask); |