diff options
author | Eric Biggers <ebiggers@google.com> | 2017-12-29 10:00:46 -0600 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2018-01-05 18:43:09 +1100 |
commit | ce8614a312ef750bb60677bb13680cb27d1c284b (patch) | |
tree | 842f01d86dc235bcd80c8544969d9fffeaec30c5 /crypto/api.c | |
parent | 809778e02cd45d0625439fee67688f655627bb3c (diff) | |
download | linux-stable-ce8614a312ef750bb60677bb13680cb27d1c284b.tar.gz linux-stable-ce8614a312ef750bb60677bb13680cb27d1c284b.tar.bz2 linux-stable-ce8614a312ef750bb60677bb13680cb27d1c284b.zip |
crypto: algapi - convert cra_refcnt to refcount_t
Reference counters should use refcount_t rather than atomic_t, since the
refcount_t implementation can prevent overflows, reducing the
exploitability of reference leak bugs. crypto_alg.cra_refcount is a
reference counter with the usual semantics, so switch it over to
refcount_t.
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/api.c')
-rw-r--r-- | crypto/api.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/api.c b/crypto/api.c index 6da802d7be67..70a894e52ff3 100644 --- a/crypto/api.c +++ b/crypto/api.c @@ -137,7 +137,7 @@ static struct crypto_alg *crypto_larval_add(const char *name, u32 type, if (IS_ERR(larval)) return ERR_CAST(larval); - atomic_set(&larval->alg.cra_refcnt, 2); + refcount_set(&larval->alg.cra_refcnt, 2); down_write(&crypto_alg_sem); alg = __crypto_alg_lookup(name, type, mask); |