spum_create_request(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… spum_create_request(9) β€” aka the Kernel API Manual glow-up πŸŽ€

okay so bestie, welcome to the spum_create_request page from the Kernel API Manual, section 9 (that's the kernel-API girlies only, no syscall peasants here πŸ’…). We're building SPU request messages and we're gonna do it correctly.


✨ NAME ✨

spum_create_request β€” build a SPU request message header, all the way up to and including the BD header. Like, the whole thing.

The message gets constructed starting at spu_hdr. And listen β€” the caller is the one who has to allocate this buffer, okay? And it must be in DMA-able memory and at least SPU_HEADER_ALLOC_LEN bytes long. No cap, if you skimp on the buffer it's not gonna be cute. 😭


🌸 SYNOPSIS 🌸

u32 spum_create_request (u8 *spu_hdr , struct spu_request_opts *req_opts
, struct spu_cipher_parms *cipher_parms , struct spu_hash_parms
*hash_parms , struct spu_aead_parms *aead_parms , unsigned int data_size
);

look at her. six arguments. main character energy fr fr. πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • spu_hdr β€” the start of the buffer where the SPU request header is gonna be written. This is your canvas, bestie. 🎨
  • req_opts β€” the SPU request message options. the vibe check for your request.
  • cipher_parms β€” everything having to do with the cipher algorithm.
  • hash_parms β€” everything having to do with the hash algorithm.
  • aead_parms β€” everything having to do with the AEAD operation. AEAD girlies stay winning. πŸ’œ
  • data_size β€” length of the data to be encrypted or authenticated. ⚠️ and if it's AEAD, this does not include the length of the AAD. do not come for me on this, it's literally in the spec.

🫢 RETURN 🫢

returns the length of the SPU header, in bytes. and if something goes wrong? returns 0. that's the error signal, so if you see a 0 don't just celebrate, check yourself. πŸ’€


🌈 SEE ALSO 🌈

the whole friend group, and yes we're tagging everyone:


πŸ’– reminder bestie: DMA-able memory. at least SPU_HEADER_ALLOC_LEN bytes. that's the whole assignment. slay it.

and that's the page!! brought to you by ./drivers/crypto/bcm, dated October 2026, filed under spum_create_request(9) β€” mwah, go build some headers, ily πŸ§šβ€β™€οΈβ­

πŸ“¦ where this page comes from