Le Sun, Oct 22, 2023 at 01:10:33AM -0700, Eric Biggers a écrit : > From: Eric Biggers <ebiggers@xxxxxxxxxx> > > The crypto API's support for alignmasks for ahash algorithms is nearly > useless, as its only effect is to cause the API to align the key and > result buffers. The drivers that happen to be specifying an alignmask > for ahash rarely actually need it. When they do, it's easily fixable, > especially considering that these buffers cannot be used for DMA. > > In preparation for removing alignmask support from ahash, this patch > makes the sun8i-ce driver no longer use it. This driver didn't actually > rely on it; it only writes to the result buffer in sun8i_ce_hash_run(), > simply using memcpy(). And this driver only supports unkeyed hash > algorithms, so the key buffer need not be considered. > > Signed-off-by: Eric Biggers <ebiggers@xxxxxxxxxx> > --- > drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c | 6 ------ > 1 file changed, 6 deletions(-) > > diff --git a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c > index d4ccd5254280b..4362e60905b09 100644 > --- a/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c > +++ b/drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c > @@ -407,21 +407,20 @@ static struct sun8i_ce_alg_template ce_algs[] = { > .import = sun8i_ce_hash_import, > .init_tfm = sun8i_ce_hash_init_tfm, > .exit_tfm = sun8i_ce_hash_exit_tfm, > .halg = { > .digestsize = MD5_DIGEST_SIZE, > .statesize = sizeof(struct md5_state), > .base = { > .cra_name = "md5", > .cra_driver_name = "md5-sun8i-ce", > .cra_priority = 300, > - .cra_alignmask = 3, > .cra_flags = CRYPTO_ALG_TYPE_AHASH | > CRYPTO_ALG_ASYNC | > CRYPTO_ALG_NEED_FALLBACK, > .cra_blocksize = MD5_HMAC_BLOCK_SIZE, > .cra_ctxsize = sizeof(struct sun8i_ce_hash_tfm_ctx), > .cra_module = THIS_MODULE, > } > } > }, > .alg.hash.op = { > @@ -441,21 +440,20 @@ static struct sun8i_ce_alg_template ce_algs[] = { > .import = sun8i_ce_hash_import, > .init_tfm = sun8i_ce_hash_init_tfm, > .exit_tfm = sun8i_ce_hash_exit_tfm, > .halg = { > .digestsize = SHA1_DIGEST_SIZE, > .statesize = sizeof(struct sha1_state), > .base = { > .cra_name = "sha1", > .cra_driver_name = "sha1-sun8i-ce", > .cra_priority = 300, > - .cra_alignmask = 3, > .cra_flags = CRYPTO_ALG_TYPE_AHASH | > CRYPTO_ALG_ASYNC | > CRYPTO_ALG_NEED_FALLBACK, > .cra_blocksize = SHA1_BLOCK_SIZE, > .cra_ctxsize = sizeof(struct sun8i_ce_hash_tfm_ctx), > .cra_module = THIS_MODULE, > } > } > }, > .alg.hash.op = { > @@ -474,21 +472,20 @@ static struct sun8i_ce_alg_template ce_algs[] = { > .import = sun8i_ce_hash_import, > .init_tfm = sun8i_ce_hash_init_tfm, > .exit_tfm = sun8i_ce_hash_exit_tfm, > .halg = { > .digestsize = SHA224_DIGEST_SIZE, > .statesize = sizeof(struct sha256_state), > .base = { > .cra_name = "sha224", > .cra_driver_name = "sha224-sun8i-ce", > .cra_priority = 300, > - .cra_alignmask = 3, > .cra_flags = CRYPTO_ALG_TYPE_AHASH | > CRYPTO_ALG_ASYNC | > CRYPTO_ALG_NEED_FALLBACK, > .cra_blocksize = SHA224_BLOCK_SIZE, > .cra_ctxsize = sizeof(struct sun8i_ce_hash_tfm_ctx), > .cra_module = THIS_MODULE, > } > } > }, > .alg.hash.op = { > @@ -507,21 +504,20 @@ static struct sun8i_ce_alg_template ce_algs[] = { > .import = sun8i_ce_hash_import, > .init_tfm = sun8i_ce_hash_init_tfm, > .exit_tfm = sun8i_ce_hash_exit_tfm, > .halg = { > .digestsize = SHA256_DIGEST_SIZE, > .statesize = sizeof(struct sha256_state), > .base = { > .cra_name = "sha256", > .cra_driver_name = "sha256-sun8i-ce", > .cra_priority = 300, > - .cra_alignmask = 3, > .cra_flags = CRYPTO_ALG_TYPE_AHASH | > CRYPTO_ALG_ASYNC | > CRYPTO_ALG_NEED_FALLBACK, > .cra_blocksize = SHA256_BLOCK_SIZE, > .cra_ctxsize = sizeof(struct sun8i_ce_hash_tfm_ctx), > .cra_module = THIS_MODULE, > } > } > }, > .alg.hash.op = { > @@ -540,21 +536,20 @@ static struct sun8i_ce_alg_template ce_algs[] = { > .import = sun8i_ce_hash_import, > .init_tfm = sun8i_ce_hash_init_tfm, > .exit_tfm = sun8i_ce_hash_exit_tfm, > .halg = { > .digestsize = SHA384_DIGEST_SIZE, > .statesize = sizeof(struct sha512_state), > .base = { > .cra_name = "sha384", > .cra_driver_name = "sha384-sun8i-ce", > .cra_priority = 300, > - .cra_alignmask = 3, > .cra_flags = CRYPTO_ALG_TYPE_AHASH | > CRYPTO_ALG_ASYNC | > CRYPTO_ALG_NEED_FALLBACK, > .cra_blocksize = SHA384_BLOCK_SIZE, > .cra_ctxsize = sizeof(struct sun8i_ce_hash_tfm_ctx), > .cra_module = THIS_MODULE, > } > } > }, > .alg.hash.op = { > @@ -573,21 +568,20 @@ static struct sun8i_ce_alg_template ce_algs[] = { > .import = sun8i_ce_hash_import, > .init_tfm = sun8i_ce_hash_init_tfm, > .exit_tfm = sun8i_ce_hash_exit_tfm, > .halg = { > .digestsize = SHA512_DIGEST_SIZE, > .statesize = sizeof(struct sha512_state), > .base = { > .cra_name = "sha512", > .cra_driver_name = "sha512-sun8i-ce", > .cra_priority = 300, > - .cra_alignmask = 3, > .cra_flags = CRYPTO_ALG_TYPE_AHASH | > CRYPTO_ALG_ASYNC | > CRYPTO_ALG_NEED_FALLBACK, > .cra_blocksize = SHA512_BLOCK_SIZE, > .cra_ctxsize = sizeof(struct sun8i_ce_hash_tfm_ctx), > .cra_module = THIS_MODULE, > } > } > }, > .alg.hash.op = { > -- > 2.42.0 > Acked-by: Corentin Labbe <clabbe.montjoie@xxxxxxxxx> Thanks