forked from Minki/linux
crypto: remove CRYPTO_TFM_RES_BAD_BLOCK_LEN
The flag CRYPTO_TFM_RES_BAD_BLOCK_LEN is never checked for, and it's only set by one driver. And even that single driver's use is wrong because the driver is setting the flag from ->encrypt() and ->decrypt() with no locking, which is unsafe because ->encrypt() and ->decrypt() can be executed by many threads in parallel on the same tfm. Just remove this flag. Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
f9d89b853e
commit
5c925e8b10
@ -1925,7 +1925,6 @@ static int cc_proc_aead(struct aead_request *req,
|
||||
if (validate_data_size(ctx, direct, req)) {
|
||||
dev_err(dev, "Unsupported crypt/assoc len %d/%d.\n",
|
||||
req->cryptlen, areq_ctx->assoclen);
|
||||
crypto_aead_set_flags(tfm, CRYPTO_TFM_RES_BAD_BLOCK_LEN);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
@ -837,7 +837,6 @@ static int cc_cipher_process(struct skcipher_request *req,
|
||||
/* TODO: check data length according to mode */
|
||||
if (validate_data_size(ctx_p, nbytes)) {
|
||||
dev_err(dev, "Unsupported data size %d.\n", nbytes);
|
||||
crypto_tfm_set_flags(tfm, CRYPTO_TFM_RES_BAD_BLOCK_LEN);
|
||||
rc = -EINVAL;
|
||||
goto exit_process;
|
||||
}
|
||||
|
@ -114,7 +114,6 @@
|
||||
#define CRYPTO_TFM_REQ_MAY_BACKLOG 0x00000400
|
||||
#define CRYPTO_TFM_RES_WEAK_KEY 0x00100000
|
||||
#define CRYPTO_TFM_RES_BAD_KEY_LEN 0x00200000
|
||||
#define CRYPTO_TFM_RES_BAD_BLOCK_LEN 0x00800000
|
||||
|
||||
/*
|
||||
* Miscellaneous stuff.
|
||||
|
Loading…
Reference in New Issue
Block a user