cpacf_kmc(9)
π cpacf_kmc β the one that runs KMC
okay so this is a page from the Kernel API Manual (yes, the cpacf_kmc(9) one, section 9, we're in kernel-land bestie) and it's literally about the KMC instruction β that's CIPHER MESSAGE WITH CHAINING for those of us keeping score π
β¨ NAME β¨
cpacf_kmc β runs the KMC instruction, aka CIPHER MESSAGE WITH CHAINING. That's the whole vibe. π
πΈ SYNOPSIS πΈ
int cpacf_kmc (unsigned long func , void *param , u8 *dest , const u8
*src , long src_len );
no cap, that's the signature. five things go in, an int comes out. π¦
π§ ARGUMENTS π§
funcβ the function code you hand over to KM; peep theCPACF_KMC_xxxdefines for what's on the menu π₯paramβ address of the parameter block; the POP has the deets on what eachfuncactually wants in there πdestβ address of the destination memory area (where the good stuff lands) πsrcβ address of the source memory area (where the good stuff comes from) πΈsrc_lenβ length of thesrcoperand, in bytes. bytes!! that's the unit!! β
π¦ DESCRIPTION π¦
so here's the tea: it returns 0 for the query func, and the number of processed bytes for the encryption/decryption funcs. that's it, that's the whole return situation. slay. β¨
iykyk: queryfuncβ‘οΈ0. encrypt/decryptfuncβ‘οΈ processed byte count. don't mix them up bestie π
π SEE ALSO π
- Kernel file
./arch/s390/include/asm/cpacf.hπ (yes, that's the file, that's the whole path) cpacf_query(9)cpacf_qai(9)cpacf_km(9)cpacf_kimd(9)cpacf_klmd(9)_cpacf_kmac(9)(yes the underscore is real, don't come for me π)cpacf_kmac(9)cpacf_kmctr(9)cpacf_prno(9)cpacf_trng(9)cpacf_pcc(9)cpacf_pckmo(9)cpacf_kma(9)
like a whole friend group of cpacf functions. the whole squad fr fr π«Ά
and that's the page!! this cutie lives in ./arch/s390/include/asm, dated October 2026, and it goes by cpacf_kmc(9) β go read the whole fam, 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