Commit c10f66b0 authored by Eric Biggers's avatar Eric Biggers Committed by Herbert Xu
Browse files

crypto: null - remove the default null skcipher



crypto_get_default_null_skcipher() and
crypto_put_default_null_skcipher() are no longer used, so remove them.

Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 0c08c729
Loading
Loading
Loading
Loading
+0 −53
Original line number Diff line number Diff line
@@ -17,13 +17,8 @@
#include <crypto/internal/skcipher.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/spinlock.h>
#include <linux/string.h>

static DEFINE_SPINLOCK(crypto_default_null_skcipher_lock);
static struct crypto_sync_skcipher *crypto_default_null_skcipher;
static int crypto_default_null_skcipher_refcnt;

static int null_init(struct shash_desc *desc)
{
	return 0;
@@ -129,54 +124,6 @@ static struct crypto_alg cipher_null = {
MODULE_ALIAS_CRYPTO("digest_null");
MODULE_ALIAS_CRYPTO("cipher_null");

struct crypto_sync_skcipher *crypto_get_default_null_skcipher(void)
{
	struct crypto_sync_skcipher *ntfm = NULL;
	struct crypto_sync_skcipher *tfm;

	spin_lock_bh(&crypto_default_null_skcipher_lock);
	tfm = crypto_default_null_skcipher;

	if (!tfm) {
		spin_unlock_bh(&crypto_default_null_skcipher_lock);

		ntfm = crypto_alloc_sync_skcipher("ecb(cipher_null)", 0, 0);
		if (IS_ERR(ntfm))
			return ntfm;

		spin_lock_bh(&crypto_default_null_skcipher_lock);
		tfm = crypto_default_null_skcipher;
		if (!tfm) {
			tfm = ntfm;
			ntfm = NULL;
			crypto_default_null_skcipher = tfm;
		}
	}

	crypto_default_null_skcipher_refcnt++;
	spin_unlock_bh(&crypto_default_null_skcipher_lock);

	crypto_free_sync_skcipher(ntfm);

	return tfm;
}
EXPORT_SYMBOL_GPL(crypto_get_default_null_skcipher);

void crypto_put_default_null_skcipher(void)
{
	struct crypto_sync_skcipher *tfm = NULL;

	spin_lock_bh(&crypto_default_null_skcipher_lock);
	if (!--crypto_default_null_skcipher_refcnt) {
		tfm = crypto_default_null_skcipher;
		crypto_default_null_skcipher = NULL;
	}
	spin_unlock_bh(&crypto_default_null_skcipher_lock);

	crypto_free_sync_skcipher(tfm);
}
EXPORT_SYMBOL_GPL(crypto_put_default_null_skcipher);

static int __init crypto_null_mod_init(void)
{
	int ret = 0;
+0 −3
Original line number Diff line number Diff line
@@ -9,7 +9,4 @@
#define NULL_DIGEST_SIZE	0
#define NULL_IV_SIZE		0

struct crypto_sync_skcipher *crypto_get_default_null_skcipher(void);
void crypto_put_default_null_skcipher(void);

#endif