ahash_request_set_virt(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ahash_request_set_virt(9) β€” it's giving "Kernel API Manual" energy

okay so bestie, welcome to the glow-up of ahash_request_set_virt(9). this is a page from the Kernel API Manual and it's literally about pointing an async hash request at a virtual address. short page, but it ATE. let's get into it πŸŽ€


✨ NAME ✨

ahash_request_set_virt β€” the little call that sets your virtual address data buffers, no cap πŸ’«


πŸ¦‹ SYNOPSIS πŸ¦‹

void ahash_request_set_virt (struct ahash_request *req , const u8 *src ,
u8 *result , unsigned int nbytes );

look at her. flawless. four args, returning void, doing exactly what she says on the tin 🌸


πŸ’– ARGUMENTS πŸ’–

  • req β€” the ahash_request handle you're updating. your main character struct, basically πŸ‘‘
  • src β€” the source virtual address. yes girl, the vibe check happens here πŸ“
  • result β€” the buffer that gets filled with the message digest. and listen β€” the caller has to make sure that buffer has sufficient space, like by calling crypto_ahash_digestsize. do not skip this step, i'm begging 😭
  • nbytes β€” how many bytes to process from the source virtual address. count 'em, bestie πŸ”’

🌈 DESCRIPTION 🌈

so here's the tea β˜• β€” by using this call, the caller references the source virtual address. and that source virtual address? it points to the data the message digest is to be calculated for. that's it, that's the whole plot 🧚✨

lowkey important, highkey simple: req gets wired up to src, and the digest lands in result. the caller still owns the "does my buffer have room" homework πŸ“š

πŸ”₯ SEE ALSO πŸ”₯

the whole friend group showed up, fr fr 🫢

  • Kernel file ./include/crypto/hash.h 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_final(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)
  • 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)

like i said. the entire group chat πŸ’€πŸ’…


mwah πŸ’œ that's the page! sourced from ./include/crypto, dated October 2026, and you just read ahash_request_set_virt(9) β€” go forth and hash async, icon ✨

πŸ“¦ where this page comes from