diff options
author | Martin K. Petersen <martin.petersen@oracle.com> | 2018-08-30 18:00:15 +0300 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2018-09-04 06:37:05 +0300 |
commit | b76377543b738a6b58b0a7b0a42dd9e16436fee1 (patch) | |
tree | 8d5d0c7b6ab09eda6a51f2e65fcfc459895e2c92 /include/linux/crc-t10dif.h | |
parent | dd8b083f9a5ed06946d559e0ca1eda0577ef24a9 (diff) | |
download | linux-b76377543b738a6b58b0a7b0a42dd9e16436fee1.tar.xz |
crc-t10dif: Pick better transform if one becomes available
T10 CRC library is linked into the kernel thanks to block and SCSI. The
crypto accelerators are typically loaded later as modules and are
therefore not available when the T10 CRC library is initialized.
Use the crypto notifier facility to trigger a switch to a better algorithm
if one becomes available after the initial hash has been registered. Use
RCU to protect the original transform while the new one is being set up.
Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org
Suggested-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'include/linux/crc-t10dif.h')
-rw-r--r-- | include/linux/crc-t10dif.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/crc-t10dif.h b/include/linux/crc-t10dif.h index 1fe0cfcdea30..6bb0c0bf357b 100644 --- a/include/linux/crc-t10dif.h +++ b/include/linux/crc-t10dif.h @@ -6,6 +6,7 @@ #define CRC_T10DIF_DIGEST_SIZE 2 #define CRC_T10DIF_BLOCK_SIZE 1 +#define CRC_T10DIF_STRING "crct10dif" extern __u16 crc_t10dif_generic(__u16 crc, const unsigned char *buffer, size_t len); |