rsi_attestation_token_init(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… rsi_attestation_token_init(9) β€” Kernel API Manual πŸŽ€

okay bestie, so we're in the Kernel API Manual today and this function is lowkey iconic. it's called rsi_attestation_token_init and it's your lil' entry point into getting an attestation token. let's get into it ✨


🌸 NAME 🌸

rsi_attestation_token_init β€” Initialise the operation to retrieve an attestation token.

like, it literally kicks off the whole token-getting situation. that's the vibe. πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

long rsi_attestation_token_init (const u8 *challenge , unsigned long
size );

yes that's the whole signature, no cap. copy it exactly, don't get creative with it πŸ’…


✨ ARGUMENTS ✨

  • challenge β€” the challenge data πŸŽ€ that gets used in the attestation token generation. it's a const u8 *, so you're passing a pointer to it, and it's const β€” hands off, bestie πŸ™ˆ
  • size β€” the size of the challenge data, in bytes. an unsigned long, fr fr. so if your challenge is 32 bytes, size is 32. easy. ⭐

πŸ’– DESCRIPTION πŸ’–

so here's what's happening. this function initialises the attestation token generation and hands you back an upper bound on the attestation token size β€” which is honestly so thoughtful of it 🫢 β€” because that's the number you use to allocate an adequate buffer. no guessing, no vibes-based malloc, just use the bound it gives you. slay.

and then? the caller is expected to subsequently call rsi_attestation_token_continue to actually retrieve the attestation token data. and important: on the same CPU. yep, same CPU, that's the rule. don't be migrating threads mid-token, bestie 😭

it's a two-step situation: rsi_attestation_token_init sets you up, rsi_attestation_token_continue brings it home. you don't skip step one. periodt. πŸ’€

🌈 RETURN 🌈

  • On success β€” returns the upper limit of the attestation report size. that's your buffer sizing number, use it wisely ✨
  • Otherwise β€” -EINVAL. yeah. invalid argument, you probably fumbled something πŸ™ˆ

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./arch/arm64/include/asm/rsi_cmds.h β€” the whole header, iykyk
  • rsi_attestation_token_continue(9) β€” the sequel, the part two, the main character of step two πŸ”₯

🧚 cute lil sign-off 🧚

this page lives in ./arch/arm64/include/asm and it's dated October 2026, and that's the whole tea. go forth, init your tokens, stay on the same CPU, and remember: allocate your buffer with the bound. mwah πŸ’œπŸŽ€

bye bestie!! πŸ’–βœ¨πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from