crypto_ahash_final(9)
π crypto_ahash_final(9) β Kernel API Manual β¨
Hey bestie, welcome to the Kernel API Manual π«Ά this one's the page for crypto_ahash_final(9), and no cap it's a little cutie. It's the "okay we're done, give me the digest" moment of the async hash world. Let's get into it.
β¨ NAME β¨
crypto_ahash_final β calculate message digest π
πΈ SYNOPSIS πΈ
int crypto_ahash_final (struct ahash_request *req );
π¦ ARGUMENTS π¦
reqβ your reference to theahash_requesthandle π and that handle is literally holding all the information needed to perform the cipher operation. main character energy fr.
π DESCRIPTION π
So here's the vibe check: this function finalizes the message digest operation, and it creates the message digest based on literally all the data that got added to the cipher handle π.
Where does the digest go? It gets placed into the output buffer that's registered with the ahash_request handle. That's it, that's the whole glow-up. π
π₯ RETURN π₯
0β slay π the message digest was successfully calculated-EINPROGRESSβ the data got fed into hardware (DMA) or it's queued for later, so likeβ¦ it's working on it, chill π-EBUSYβ the queue is full π and the request should be resubmitted later- other
< 0β bestie something went wrong, an error occurred π
π SEE ALSO π
okay this list is long long, but every single one of these is iconic in its own right, so:
- Kernel file
./include/crypto/hash.hand Message Digest Algorithm Definitions(9) struct ahash_alg(9)struct shash_alg(9)- Asynchronous Message Digest API(9)
crypto_alloc_ahash(9)crypto_free_ahash(9)crypto_has_ahash(9)crypto_ahash_blocksize(9)crypto_ahash_digestsize(9)crypto_ahash_statesize(9)crypto_ahash_reqtfm(9)crypto_ahash_reqsize(9)crypto_ahash_setkey(9)crypto_ahash_finup(9)crypto_ahash_digest(9)crypto_ahash_export(9)crypto_ahash_import(9)crypto_ahash_init(9)crypto_ahash_update(9)- Asynchronous Hash Request Handle(9)
ahash_request_set_tfm(9)ahash_request_alloc(9)ahash_request_free(9)ahash_request_set_callback(9)ahash_request_set_crypt(9)ahash_request_set_virt(9)- Synchronous Message Digest API(9)
crypto_alloc_shash(9)crypto_free_shash(9)crypto_shash_blocksize(9)crypto_shash_digestsize(9)crypto_shash_descsize(9)crypto_shash_setkey(9)crypto_shash_digest(9)crypto_shash_tfm_digest(9)crypto_shash_export(9)crypto_shash_import(9)crypto_shash_init(9)crypto_shash_finup(9)crypto_shash_update(9)crypto_shash_final(9)
and that's the whole page, bestie β¨ mwah π this little love letter lives in ./include/crypto, dated October 2026, and it's version-era crypto_ahash_final(9) β iykyk π§π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms