STRUCT RETHOOK_NODE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

struct rethook_node β€” the rethook shadow-stack entry node. That's the whole vibe, bestie πŸ’…

This is the struct rethook_node(9) page from the Kernel API Manual, and we're about to make it make sense ✨


✨ SYNOPSIS ✨

Okay so here's the struct in all its glory, no cap:

struct rethook_node {
    struct rcu_head         rcu;
    struct llist_node       llist;
    struct rethook          *rethook;
    unsigned long           ret_addr;
    unsigned long           frame;
 };

🫢 Members 🫢

  • rcu β€” the rcu_head for deferred freeing. It's giving cleanup-duty main character energy 🧹
  • llist β€” the llist, linked to a struct task_struct::rethooks. Yes, that exact path, iykyk πŸ”₯
  • rethook β€” the pointer to the struct rethook πŸ‘‘
  • ret_addr β€” the storage for the real return address πŸŽ€
  • frame β€” the storage for the frame pointer πŸ¦‹

πŸ’– Description πŸ’–

You can embed this to your extended data structure to store any data on each entry of the shadow stack πŸ’…

That's literally the point of it β€” it's the little node that lives on each shadow-stack entry, and you can build it into your own extended data structure. Slay ✨


πŸ¦‹ SEE ALSO πŸ¦‹


That's the page, bestie β€” source/version: ./include/linux, date: October 2026 πŸ’– mwah πŸŽ€

πŸ“¦ where this page comes from