[PATCH v2 3/3] crypto: ctr - remove unused crypto_ctr_encrypt_walk()
Ard Biesheuvel
ardb+git at google.com
Thu Apr 3 00:19:57 PDT 2025
From: Ard Biesheuvel <ardb at kernel.org>
crypto_ctr_encrypt_walk() is no longer used so remove it.
Note that some existing drivers currently rely on the transitive
includes of some other crypto headers so retain those for the time
being.
Signed-off-by: Ard Biesheuvel <ardb at kernel.org>
---
include/crypto/ctr.h | 47 --------------------
1 file changed, 47 deletions(-)
diff --git a/include/crypto/ctr.h b/include/crypto/ctr.h
index da1ee73e9ce9..c41685874f00 100644
--- a/include/crypto/ctr.h
+++ b/include/crypto/ctr.h
@@ -10,56 +10,9 @@
#include <crypto/algapi.h>
#include <crypto/internal/skcipher.h>
-#include <linux/string.h>
-#include <linux/types.h>
#define CTR_RFC3686_NONCE_SIZE 4
#define CTR_RFC3686_IV_SIZE 8
#define CTR_RFC3686_BLOCK_SIZE 16
-static inline int crypto_ctr_encrypt_walk(struct skcipher_request *req,
- void (*fn)(struct crypto_skcipher *,
- const u8 *, u8 *))
-{
- struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req);
- int blocksize = crypto_skcipher_chunksize(tfm);
- u8 buf[MAX_CIPHER_BLOCKSIZE];
- struct skcipher_walk walk;
- int err;
-
- /* avoid integer division due to variable blocksize parameter */
- if (WARN_ON_ONCE(!is_power_of_2(blocksize)))
- return -EINVAL;
-
- err = skcipher_walk_virt(&walk, req, false);
-
- while (walk.nbytes > 0) {
- const u8 *src = walk.src.virt.addr;
- u8 *dst = walk.dst.virt.addr;
- int nbytes = walk.nbytes;
- int tail = 0;
-
- if (nbytes < walk.total) {
- tail = walk.nbytes & (blocksize - 1);
- nbytes -= tail;
- }
-
- do {
- int bsize = min(nbytes, blocksize);
-
- fn(tfm, walk.iv, buf);
-
- crypto_xor_cpy(dst, src, buf, bsize);
- crypto_inc(walk.iv, blocksize);
-
- dst += bsize;
- src += bsize;
- nbytes -= bsize;
- } while (nbytes > 0);
-
- err = skcipher_walk_done(&walk, tail);
- }
- return err;
-}
-
#endif /* _CRYPTO_CTR_H */
--
2.49.0.472.ge94155a9ec-goog
More information about the linux-arm-kernel
mailing list