spu_aead_tx_sg_create(9)
okay bestie, welcome to spu_aead_tx_sg_create(9) from the Kernel API Manual β itβs giving kernel-crypto scatterlist realness, and weβre gonna get through every detail together π
β¨
π NAME π
spu_aead_tx_sg_create β build up the scatterlist of buffers used to send a SPU request message for an AEAD request. Includes SPU message headers and the request data. π
πΈ SYNOPSIS πΈ
the whole signature, untouched, because bestie we do not mess with function signatures π€
int spu_aead_tx_sg_create (struct brcm_message *mssg , struct
iproc_reqctx_s *rctx , u8 tx_frag_num , u32 spu_hdr_len , struct
scatterlist *assoc , unsigned int assoc_len , int assoc_nents , unsigned
int aead_iv_len , unsigned int chunksize , u32 aad_pad_len , u32 pad_len
, bool incl_icv );
π ARGUMENTS π
every single one, no skipping, periodt:
mssgβ the mailbox message containing the transmit sg.rctxβ the crypto request context.tx_frag_numβ number of scatterlist elements required to construct the SPU request message.spu_hdr_lenβ length of SPU message header in bytes.assocβ crypto API associated data scatterlist.assoc_lenβ length of associated data.assoc_nentsβ number of scatterlist entries containing assoc data.aead_iv_lenβ length of AEAD IV, if included.chunksizeβ Number of bytes of request data.aad_pad_lenβ Number of bytes of padding at end of AAD. For GCM/CCM.pad_lenβ Number of pad bytes.incl_icvβ If true, write separate ICV buffer after data and any padding.
π¦ DESCRIPTION π¦
so the scatterlist that gets allocated here? it gets freed in spu_chunk_cleanup when the request completes, whether the request is handled successfully or there is an error. no cap, cleanup covers both the slay and the oops πβ¨
β RETURN β
0 if successful, < 0 if an error.
π«Ά SEE ALSO π«Ά
Kernel file ./drivers/crypto/bcm/cipher.c is the main-character source path, and here are all the (9) buddies:
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)spu_ahash_tx_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)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)
thatβs the whole page, bestie β source/version path ./drivers/crypto/bcm, date October 2026, mwah πππ«Ά
π¦ 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