STRUCT SMM_VARIABLE_ACCESS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct smm_variable_access(9) 🌸

okay so you're in the Kernel API Manual bestie, and this page is all about a lil struct that's basically the group chat between the kernel and StMM πŸ’…


✨ NAME ✨

struct smm_variable_access β€” the struct you use to communicate with StMM by SetVariable and GetVariable. literally its whole job 🫢


πŸŽ€ SYNOPSIS πŸŽ€

struct smm_variable_access {
    efi_guid_t guid;
    size_t data_size;
    size_t name_size;
    u32 attr;
    u16 name[];
};

πŸ’– Members πŸ’–

no cap, every field is doing its little part. here's the lineup πŸ‘‘

  • guid β€” the vendor GUID. like, whose variable is this even 🧐
  • data_size β€” the size of the EFI variable data πŸ“¦
  • name_size β€” the size of the EFI name 🏷️
  • attr β€” the attributes ✨
  • name β€” the variable name itself, main character energy πŸ‘‘
the way name is a flexible array member (u16 name[]) β€” iconic, but it lives at the end for a reason, so pls respect the layout πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹

go read these next, iykyk πŸ“š

  • Kernel file ./drivers/firmware/efi/stmm/mm_communication.h struct efi_mm_communicate_header(9)
  • struct smm_variable_communicate_header(9)
  • struct smm_variable_payload_size(9)
  • struct smm_variable_getnext(9)
  • struct smm_variable_query_info(9)
  • struct var_check_property(9)
  • struct smm_variable_var_check_property(9)

and that's the whole vibe check 🌈 this queen lives in ./drivers/firmware/efi/stmm, dated October 2026, and she's still struct smm_variable_access(9) β€” periodt πŸ’…πŸ’œ

πŸ“¦ where this page comes from