crypto_ahash_update(9)
π crypto_ahash_update(9) π
okay bestie, so you're diving into the kernel's async hash API?? that's iconic of you honestly. this page is from the Kernel API Manual and we're about to get you fully caught up on crypto_ahash_update β the glow-up your message digest deserves β¨
β¨ NAME β¨
crypto_ahash_update β add data to message digest for processing π«Ά
like literally just feeding your hash some more bytes to chew on. no cap.
πΈ SYNOPSIS πΈ
int crypto_ahash_update (struct ahash_request *req );
that's the whole vibe. one function, one request handle, and you're off π¦
π ARGUMENTS π
reqβ theahash_requesthandle that was previously initialized with thecrypto_ahash_initcall. bestie, if you didn't init it first, we can't help you βcrypto_ahash_initis the prerequisite, periodt π
π₯ DESCRIPTION π₯
so what this does is update the message digest state of that ahash_request handle. the way that it works is: the input data is pointed to by the scatter/gather list registered in the ahash_request handle. that's the whole story β you hand it a handle, it knows where the data is via the scatter/gather list, and it keeps the digest state rolling π
it's giving "continuation of a saga" energy, not "fresh start" energy. your digest was already started by crypto_ahash_init, and now you're adding more data to the mix. main character update moment fr fr π
π RETURN π
see crypto_ahash_final β that's where you'll find the return details. we're not gatekeeping, we're just pointing you to the right page iykyk π€·ββοΈ
π¦ SEE ALSO π¦
like, there's SO many references bestie, we're not skipping a single one. every single one of these matters, okay? obsessed with how thorough this is:
Kernel file ./include/crypto/hash.hMessage 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_final(9)crypto_ahash_digest(9)crypto_ahash_export(9)crypto_ahash_import(9)crypto_ahash_init(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)
yeah that's a LOT of references and every single one showed up. not me being thorough or whatever π
and that's the tea, bestie π this page is from the Kernel API Manual, sourced from ./include/crypto, dated October 2026 β so like, recent. go forth and hash responsibly, you've got this πβ¨
π¦ 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