STRUCT RTAS_FUNCTION(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct rtas_function β€” NAME

okay so bestie, this is the kernel API manual for struct rtas_function, aka the Descriptor for RTAS functions. that's it, that's the whole vibe β€” it's a little struct that describes an RTAS function so the kernel knows how it's allowed to call it. πŸŽ€


✨ SYNOPSIS ✨

struct rtas_function {
    s32 token;
    const bool banned_for_syscall_on_le:1;
    const char * const name;
    const struct rtas_filter *filter;
    struct mutex *lock;
 };

like, that's the whole shape of it. five members, no notes. 🫢


🌸 Members 🌸

  • token β€” this is the value of name if it actually exists under the /rtas node. that's the whole assignment, no cap.
  • banned_for_syscall_on_le β€” this flag gets set when a call via sys_rtas is generally allowed but specifically restricted on ppc64le. the tea here 🍡: such functions are believed to have no users on ppc64le, and the kernel wants to keep it that way. lowkey important: it does not make sense for this to be set when filter is NULL.
  • name β€” the function name. that's the member, she's literally just the name πŸ’…
  • filter β€” if this is non-NULL, then invoking this function via the rtas syscall is generally allowed, and filter describes the constraints on the arguments. see also banned_for_syscall_on_le (they're besties, you gotta read them together).
  • lock β€” pointer to an optional dedicated per-function mutex. set this for functions that require multiple calls in sequence to complete a single operation β€” because those sequences will legitimately disrupt each other if you let them interleave 😭. users of this function are required to hold the associated lock for the duration of the call sequence. and fr fr, add an explanatory comment to the function table entry if you're setting this member β€” future you will thank you. πŸ’–

πŸ¦‹ SEE ALSO πŸ¦‹


and that's the page, bestie! ✨ this one lives in ./arch/powerpc/kernel, dated October 2026, from the Kernel API Manual β€” mwah, go read the source, ily, bye πŸ‘‘πŸŒˆπŸ’œ

πŸ“¦ where this page comes from