spu2_cipher_req_finish(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’« spu2_cipher_req_finish β€” a kernel API manual, bestie edition πŸ’«

okay so this is spu2_cipher_req_finish(9) from the Kernel API Manual, and honestly? she's the glow-up finisher of SPU request headers. let's get into it πŸŽ€


✨ NAME ✨

spu2_cipher_req_finish β€” the girl who finishes building a SPU request message header for a block cipher request. she doesn't start it, she completes it. main character energy fr πŸ’…


🌸 SYNOPSIS 🌸

void spu2_cipher_req_finish (u8 *spu_hdr , u16 spu_req_hdr_len ,
       unsigned int is_inbound , struct spu_cipher_parms *cipher_parms ,
       unsigned int data_size );

literally just five args and a dream, no return value, we love a void function that simply does her job and leaves 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • spu_hdr β€” the start of the request message header (the MH field, iykyk). this is where she does her work bestie.
  • spu_req_hdr_len β€” length in bytes of the SPU request header. yes, bytes. count them. ⭐
  • is_inbound β€” 0 = encrypt, 1 = decrypt. that's it. that's the whole vibe check. πŸ”₯
  • cipher_parms β€” parameters describing the cipher operation to be performed. a struct spu_cipher_parms *, obviously πŸ’œ
  • data_size β€” length of the data in the BD field. know your data, know your BD field, periodt.

πŸ’– DESCRIPTION πŸ’–

okay so here's the tea: this function assumes much of the header was already filled in at setkey time in spu_cipher_req_init. so like, the header's already had its little makeover moment β€” spu_cipher_req_init is the one who fills in the encryption key πŸ”‘

then spu2_cipher_req_finish swoops in to finish the job. it's giving "i'm just here to put the final touches on an already iconic look" ✨

no cap: if you're calling this without having done the spu_cipher_req_init step first, that's not the move. she assumes it happened. πŸ™ˆ

🌈 SEE ALSO 🌈

bestie, the whole friend group is here. kernel file ./drivers/crypto/bcm/spu2.c plus literally every sibling function, and yes i'm listing all of them because we do NOT skip people in this group chat πŸ’€:

also lowkey the kernel file lives at ./drivers/crypto/bcm β€” that's the whole directory, that's the whole source tree neighborhood 🧚


and that's the page!! brought to you by the Kernel API Manual, source ./drivers/crypto/bcm, dated October 2026 β€” mwah, slay, go finish those headers responsibly πŸ’…βœ¨

πŸ“¦ where this page comes from