STRUCT RETHOOK_NODE(9)
πΈ 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β thercu_headfor deferred freeing. It's giving cleanup-duty main character energy π§Ήllistβ thellist, linked to astruct task_struct::rethooks. Yes, that exact path, iykyk π₯rethookβ the pointer to thestruct 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 π¦
- Kernel file
./include/linux/rethook.hβ plusstruct rethook(9)andis_rethook_trampoline(9)π
That's the page, bestie β source/version: ./include/linux, date: October 2026 π mwah π
π¦ 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