Example #1
0
static void prism2_wep_deinit(void *priv)
{
	struct prism2_wep_data *_priv = priv;

	if (_priv) {
		crypto_free_sync_skcipher(_priv->tx_tfm);
		crypto_free_sync_skcipher(_priv->rx_tfm);
	}
	kfree(priv);
}
Example #2
0
static void *prism2_wep_init(int keyidx)
{
	struct prism2_wep_data *priv;

	priv = kzalloc(sizeof(*priv), GFP_KERNEL);
	if (!priv)
		return NULL;
	priv->key_idx = keyidx;

	priv->tx_tfm = crypto_alloc_sync_skcipher("ecb(arc4)", 0, 0);
	if (IS_ERR(priv->tx_tfm))
		goto free_priv;
	priv->rx_tfm = crypto_alloc_sync_skcipher("ecb(arc4)", 0, 0);
	if (IS_ERR(priv->rx_tfm))
		goto free_tx;

	/* start WEP IV from a random value */
	get_random_bytes(&priv->iv, 4);

	return priv;
free_tx:
	crypto_free_sync_skcipher(priv->tx_tfm);
free_priv:
	kfree(priv);
	return NULL;
}
Example #3
0
static void p8_aes_ctr_exit(struct crypto_tfm *tfm)
{
	struct p8_aes_ctr_ctx *ctx = crypto_tfm_ctx(tfm);

	if (ctx->fallback) {
		crypto_free_sync_skcipher(ctx->fallback);
		ctx->fallback = NULL;
	}
}
Example #4
0
static void qce_ablkcipher_exit(struct crypto_tfm *tfm)
{
	struct qce_cipher_ctx *ctx = crypto_tfm_ctx(tfm);

	crypto_free_sync_skcipher(ctx->fallback);
}