From: Xiangyang Yu yuxiangyang4@huawei.com
mainline inclusion from mainline-v4.19-rc2 commit 11dcb1037f40a19f298845a9b2ec093f7b8b958b category: feature bugzilla: 46802 CVE: NA
--------------------------------
Add a way to print the currently active CRC algorithm in:
/sys/module/crc_t10dif/parameters/transform
Signed-off-by: Martin K. Petersen martin.petersen@oracle.com Signed-off-by: Herbert Xu herbert@gondor.apana.org.au Signed-off-by: Xiangyang Yu yuxiangyang4@huawei.com Acked-by: Xie XiuQi xiexiuqi@huawei.com Reviewed-by: Jason Yan yanaijie@huawei.com Signed-off-by: Yang Yingliang yangyingliang@huawei.com --- lib/crc-t10dif.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/lib/crc-t10dif.c b/lib/crc-t10dif.c index 52f577a3868de..6507fa101effe 100644 --- a/lib/crc-t10dif.c +++ b/lib/crc-t10dif.c @@ -107,6 +107,17 @@ static void __exit crc_t10dif_mod_fini(void) module_init(crc_t10dif_mod_init); module_exit(crc_t10dif_mod_fini);
+static int crc_t10dif_transform_show(char *buffer, const struct kernel_param *kp) +{ + if (static_key_false(&crct10dif_fallback)) + return sprintf(buffer, "fallback\n"); + + return sprintf(buffer, "%s\n", + crypto_tfm_alg_driver_name(crypto_shash_tfm(crct10dif_tfm))); +} + +module_param_call(transform, NULL, crc_t10dif_transform_show, NULL, 0644); + MODULE_DESCRIPTION("T10 DIF CRC calculation"); MODULE_LICENSE("GPL"); MODULE_SOFTDEP("pre: crct10dif");