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 <sbuisson@ddn.com>
Change-Id: I362211d1b1aa3763fe1481cebb3629b255f29e41
Reviewed-on: https://review.whamcloud.com/43653
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Aurelien Degremont <degremoa@amazon.com>
.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,
.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,
.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,
.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,