spu_ahash_tx_sg_create(9)
π spu_ahash_tx_sg_create β from your Kernel API Manual bestie
okay so this is spu_ahash_tx_sg_create(9), straight out of the Kernel API Manual, and it's lowkey the function that assembles the whole scatterlist situation for you. β¨
π NAME π
spu_ahash_tx_sg_create β bestie, this builds up the scatterlist of buffers</> used to send a SPU request message for an ahash request. and yes, it includes the SPU message headers and the request data. the whole package. π
πΈ SYNOPSIS πΈ
int spu_ahash_tx_sg_create (struct brcm_message *mssg , struct
iproc_reqctx_s *rctx , u8 tx_frag_num , u32 spu_hdr_len , unsigned int
hash_carry_len , unsigned int new_data_len , u32 pad_len );
like, seven whole arguments. she's thorough. π
β¨ ARGUMENTS β¨
mssgβ the mailbox message that's holding the transmit sg. it's giving delivery-girl energy π¬rctxβ the crypto request context. the vibe check for the request itself.tx_frag_numβ number of scatterlist elements required to construct the SPU request message. count 'em. π’spu_hdr_lenβ length in bytes of the SPU message header. bytes, not vibes. πhash_carry_lenβ Number of bytes of data carried over from previous req. leftovers but make it iconic πnew_data_lenβ Number of bytes of new request data. the fresh stuff β¨pad_lenβ Number of pad bytes. padding is self-care π
π¦ DESCRIPTION π¦
so the scatterlist that gets allocated here? it's freed in spu_chunk_cleanup when the request completes. and bestie, that's true whether the request is handled successfully or there is an error β no leaks, no drama, she cleans up after herself every single time. periodt. π
π₯ RETURN π₯
0if successful< 0if an error
that's it, that's the whole vibe check π
π SEE ALSO π
Kernel file ./drivers/crypto/bcm/cipher.c:
select_channel(9)spu_skcipher_rx_sg_create(9)spu_skcipher_tx_sg_create(9)handle_skcipher_req(9)handle_skcipher_resp(9)spu_ahash_rx_sg_create(9)handle_ahash_req(9)spu_hmac_outer_hash(9)ahash_req_done(9)handle_ahash_resp(9)spu_aead_rx_sg_create(9)spu_aead_tx_sg_create(9)handle_aead_req(9)handle_aead_resp(9)spu_chunk_cleanup(9)finish_req(9)spu_rx_callback(9)skcipher_enqueue(9)spu_no_incr_hash(9)aead_gcm_esp_setkey(9)rfc4543_gcm_esp_setkey(9)aead_ccm_esp_setkey(9)spu_functions_register(9)spu_mb_init(9)
like a whole friend group. go say hi to all of them π«Ά
and that's the page!! π§ sign-off time: this little beauty lives in the Kernel API Manual, comes from ./drivers/crypto/bcm, and is dated October 2026. mwah, go build some scatterlists bestie ππβ
π¦ 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