From: Sebastien Buisson Date: Tue, 11 May 2021 08:59:03 +0000 (+0200) Subject: LU-14673 sec: annotate algorithms taking optional key X-Git-Tag: 2.12.7-RC1~3 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=refs%2Fchanges%2F53%2F43653%2F7;p=fs%2Flustre-release.git LU-14673 sec: annotate algorithms taking optional key Crypto algorithms implementing a ->setkey() method but that can also be used without a key must set the CRYPTO_ALG_OPTIONAL_KEY flag if defined in the kernel. In Lustre, adler32 and crc32 implementations define a ->setkey() method, but their "key" is not actually a cryptographic key. Lustre-change: https://review.whamcloud.com/43656 Lustre-commit: b161e7b777e63bb4328aeab9e50560f919fedc31 Signed-off-by: Sebastien Buisson Change-Id: I362211d1b1aa3763fe1481cebb3629b255f29e41 Reviewed-on: https://review.whamcloud.com/43653 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger Reviewed-by: Aurelien Degremont --- diff --git a/libcfs/libcfs/linux/linux-crypto-adler.c b/libcfs/libcfs/linux/linux-crypto-adler.c index 9cd3fd0..2171817 100644 --- a/libcfs/libcfs/linux/linux-crypto-adler.c +++ b/libcfs/libcfs/linux/linux-crypto-adler.c @@ -117,6 +117,9 @@ static struct shash_alg alg = { .cra_name = "adler32", .cra_driver_name = "adler32-zlib", .cra_priority = 100, +#ifdef CRYPTO_ALG_OPTIONAL_KEY + .cra_flags = CRYPTO_ALG_OPTIONAL_KEY, +#endif .cra_blocksize = CHKSUM_BLOCK_SIZE, .cra_ctxsize = sizeof(u32), .cra_module = NULL, diff --git a/libcfs/libcfs/linux/linux-crypto-crc32.c b/libcfs/libcfs/linux/linux-crypto-crc32.c index 2df492e..9af855d 100644 --- a/libcfs/libcfs/linux/linux-crypto-crc32.c +++ b/libcfs/libcfs/linux/linux-crypto-crc32.c @@ -130,6 +130,9 @@ static struct shash_alg alg = { .cra_name = "crc32", .cra_driver_name = "crc32-table", .cra_priority = 100, +#ifdef CRYPTO_ALG_OPTIONAL_KEY + .cra_flags = CRYPTO_ALG_OPTIONAL_KEY, +#endif .cra_blocksize = CHKSUM_BLOCK_SIZE, .cra_ctxsize = sizeof(u32), .cra_module = NULL, diff --git a/libcfs/libcfs/linux/linux-crypto-crc32c-pclmul.c b/libcfs/libcfs/linux/linux-crypto-crc32c-pclmul.c index 55024b5..da37923 100644 --- a/libcfs/libcfs/linux/linux-crypto-crc32c-pclmul.c +++ b/libcfs/libcfs/linux/linux-crypto-crc32c-pclmul.c @@ -133,6 +133,9 @@ static struct shash_alg alg = { .cra_name = "crc32c", .cra_driver_name = "crc32c-pclmul", .cra_priority = 150, +#ifdef CRYPTO_ALG_OPTIONAL_KEY + .cra_flags = CRYPTO_ALG_OPTIONAL_KEY, +#endif .cra_blocksize = CHKSUM_BLOCK_SIZE, .cra_ctxsize = sizeof(u32), .cra_module = NULL, diff --git a/libcfs/libcfs/linux/linux-crypto-crc32pclmul.c b/libcfs/libcfs/linux/linux-crypto-crc32pclmul.c index 6e34be6..47f0f98 100644 --- a/libcfs/libcfs/linux/linux-crypto-crc32pclmul.c +++ b/libcfs/libcfs/linux/linux-crypto-crc32pclmul.c @@ -169,6 +169,9 @@ static struct shash_alg alg = { .cra_name = "crc32", .cra_driver_name = "crc32-pclmul", .cra_priority = 200, +#ifdef CRYPTO_ALG_OPTIONAL_KEY + .cra_flags = CRYPTO_ALG_OPTIONAL_KEY, +#endif .cra_blocksize = CHKSUM_BLOCK_SIZE, .cra_ctxsize = sizeof(u32), .cra_module = NULL,