hlist_bl_for...continue_rcu(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… hlist_bl_for...continue_rcu(9) πŸ’…

okay bestie, this one is straight from the Kernel API Manual, and it's literally the β€œkeep the list walk going after this node” macro. No cap, the whole vibe is: you already have a position, now continue from there. ✨


🌸 NAME 🌸

hlist_bl_for_each_entry_continue_rcu β€” continue iteration over list of given type. that's the assignment, bestie: keep iterating, but continue from where you already are. 🫢

✨ SYNOPSIS ✨

okay so the signature is exactly:

hlist_bl_for_each_entry_continue_rcu (tpos , pos , member );

πŸŽ€ ARGUMENTS πŸŽ€

  • tpos β€” the type * to use as a loop cursor. this is your β€œwhat am I iterating as” cursor, periodt.
  • pos β€” the struct hlist_bl_node to use as a loop cursor. the actual node cursor, lowkey the main character here.
  • member β€” the name of the hlist_bl_node within the struct. iykyk, it's the member name that lets the macro find the node inside your bigger struct.

πŸ¦‹ DESCRIPTION πŸ¦‹

so this continues iterating over a list of the given type, continuing after the current position β€” and that current position must have been in the list when the RCU read lock was taken. not optional, bestie. 🚨

⚠️ the current position must have been in the list when the RCU read lock was taken. this is the whole vibe check for this macro.

typically that means you need either:

  1. you obtained the node from a previous walk of the list in the same RCU read-side critical section, or
  2. you held some sort of non-RCU reference (such as a reference count) to keep the node alive and in the list.

both of those are giving β€œplease keep this node valid” energy. fr fr 🧚

🌈 SEE ALSO 🌈

Kernel file ./include/linux/rculist_bl.h, plus these iconic neighbors:


xoxo, your Unix bestie πŸ’– β€” source/version: ./include/linux; date: October 2026; page: hlist_bl_for...continue_rcu(9). periodt. πŸ’…

πŸ“¦ where this page comes from