init_rcu_head_on_stack(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ init_rcu_head_on_stack πŸ¦‹

okay so bestie, this is the Kernel API Manual page for init_rcu_head_on_stack(9) β€” manual name folded in right here, iconic. It’s all about giving an on-stack rcu_head its debugobjects moment. Slay.

πŸŽ€ NAME πŸŽ€

init_rcu_head_on_stack β€” initialize on-stack rcu_head for debugobjects.

✨ SYNOPSIS ✨

void init_rcu_head_on_stack (struct rcu_head *head );

πŸ’… ARGUMENTS πŸ’…

  • head β€” pointer to rcu_head structure to be initialized. This is the head being handed over, bestie.

πŸ”₯ DESCRIPTION πŸ”₯

Okay so here’s the vibe: this function informs debugobjects of a new rcu_head structure that has been allocated as an auto variable on the stack. It’s giving β€œhey debugobjects, new stack auto variable just dropped.” ✨

This function is not required for rcu_head structures that are statically defined or that are dynamically allocated on the heap. So don’t come for this function unless the head is living that stack life.

lowkey important: this function has no effect for !CONFIG_DEBUG_OBJECTS_RCU_HEAD kernel builds. No cap. πŸ’€

πŸ‘€ SEE ALSO πŸ‘€

The kernel file to peek at is ./kernel/rcu/update.c, and the whole friend group is:


mwah πŸ’‹ sign-off: source ./kernel/rcu, date October 2026, page init_rcu_head_on_stack(9) β€” periodt. 🫢

πŸ“¦ where this page comes from