It failed silently when crypto_alloc_tfm() failed, so add an error
message to inform the developer to enable sha256 algorithm support.
Signed-off-by: Yu Chien Peter Lin <peterlin.tw@pm.me>
struct shash_desc *shash;
sha256 = crypto_alloc_shash("sha256", 0, 0);
- if (IS_ERR(sha256))
+ if (IS_ERR(sha256)) {
+ pr_err(
+ "%s(): Failed to allocate sha256 algorithm, enable CONFIG_CRYPTO_SHA256 and try again.\n",
+ __func__);
return -1;
+ }
shash = kmalloc(sizeof(struct shash_desc) + crypto_shash_descsize(sha256),
GFP_KERNEL);
Calculating and checking the hashes of things is a common operation.
Here is a demonstration of how to calculate a sha256 hash within a kernel module.
+To provide the sha256 algorithm support, make sure \cpp|CONFIG_CRYPTO_SHA256| is enabled in kernel.
\samplec{examples/cryptosha256.c}