tpm2_pcr_extend(9)
π¦ tpm2_pcr_extend(9) β the Kernel API Manual glow-up π¦
okay bestie, so this is tpm2_pcr_extend from the kernel's TPM corner of the world, and it's literally the function that extends a PCR value. that's the whole vibe. it lives in the Kernel API Manual and ngl it's kind of iconic in a "quietly load-bearing security primitive" way π
π NAME π
tpm2_pcr_extend β extend a PCR value β¨
like, that's it, that's the name. short, sweet, ate π
πΈ SYNOPSIS πΈ
int tpm2_pcr_extend (struct tpm_chip *chip , u32 pcr_idx , struct
tpm_digest *digests );
she takes three things and returns an int, no cap π«Ά
π ARGUMENTS π
chipβ the TPM chip you wanna use. your main character hardware, basically π₯οΈpcr_idxβ the index of the PCR. you gotta tell her which PCR, she's not a mind reader πdigestsβ the list of pcr banks and their corresponding digest values that you want to extend. it's giving "bring the whole group chat," fr fr π
β RETURN β
same as with tpm_transmit_cmd. that's the whole answer β she's delegating, and honestly? respect π
π SEE ALSO π
kernel file ./drivers/char/tpm/tpm2-cmd.c β plus the whole friend group, and yes they're all invited:
tpm2_calc_ordinal_duration(9)tpm2_pcr_read(9)tpm2_get_random(9)tpm2_flush_context(9)tpm2_get_tpm_pt(9)tpm2_shutdown(9)tpm2_do_selftest(9)tpm2_probe(9)tpm2_startup(9)tpm2_auto_startup(9)
lowkey a little reminder that this is a kernel function signature, so all those types and pointers are exactly as written β don't go "fixing" the spacing, bestie, it's character-for-character correct π
and that's the page!! π brought to you from ./drivers/char/tpm, dated October 2026, and yeah β this whole thing is tpm2_pcr_extend(9), one hundred percent. slay, go extend some PCRs responsibly π₯π
π¦ 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