spum_ccm_update_iv(9)
β¨ spum_ccm_update_iv β¨ (section 9, Kernel API Manual, bestie)
Okay so picture this: you're deep in the kernel, you're doing CCM mode, and the IV needs a little glow-up. That's literally this function. spum_ccm_update_iv β Update the IV as per the requirements for CCM mode. That's the whole vibe. No cap. π
πΈ SYNOPSIS πΈ
void spum_ccm_update_iv (unsigned int digestsize , struct
spu_cipher_parms *cipher_parms , unsigned int assoclen , unsigned int
chunksize , bool is_encrypt , bool is_esp );
It returns void, so don't go looking for a return value, she gives you nothing and she's iconic for it. π
π¦ ARGUMENTS π¦
Six args, all of them main character energy:
digestsizeβ the digest size of this request. That's it, that's the whole lore.cipher_parmsβ a pointer to the cipher parameters, and yes bestie this is the important one: it includes the IV buf and the IV len. The IV lives here. Be normal about it.assoclenβ length of the AAD data. (Additional Authenticated Data, iykyk.)chunksizeβ length of the input data that's getting sent in this req. Just this req. Don't overthink it. π«Άis_encryptβtrueif this is an output/encrypt operation. So flip it and it's not, you get it.is_espβtrueif this is an ESP / RFC4309 operation. β¨ Very demure, very RFC4309.
π SEE ALSO π
Kernel file ./drivers/crypto/bcm/spu.c β go read her, she's the source of truth, and also literally all of her friends:
spum_ns2_ctx_max_payload(9)spum_nsp_ctx_max_payload(9)spum_response_hdr_len(9)spum_hash_pad_len(9)spum_gcm_ccm_pad_len(9)spum_assoc_resp_len(9)spum_aead_ivlen(9)spum_hash_type(9)spum_digest_size(9)spum_create_request(9)spum_cipher_req_init(9)spum_cipher_req_finish(9)spum_request_pad(9)spum_xts_tweak_in_payload(9)spum_tx_status_len(9)spum_rx_status_len(9)spum_status_process(9)spum_wordalign_padlen(9)
That's the whole group chat. Go say hi. π
Lowkey a reminder: those all end in(9)because they're kernel API manual pages, so if you're searching for them, useman 9 <name>. π§
And that's the page!! π Coming at you from ./drivers/crypto/bcm, dated October 2026, and yes the page is still called spum_ccm_update_iv(9) β she's booked and busy. 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