continue_at(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… continue_at(9) πŸ’…

okay so welcome to the Kernel API Manual, bestie β€” today’s main character is continue_at. the NAME section says it all: jump to another function with barrier. that’s the vibe. ✨

🌸 SYNOPSIS 🌸

continue_at (_cl , _fn , _wq );

πŸŽ€ ARGUMENTS πŸŽ€

  • _cl β€” the manpage literally gives us -- undescribed -- 😭 no extra lore, bestie.
  • _fn β€” also -- undescribed -- πŸ™ˆ
  • _wq β€” yep, -- undescribed -- again πŸ’€

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here’s the plot, no cap: after cl is no longer waiting on anything (i.e. all outstanding refs have been dropped with closure_put), it will resume execution at fn running out of wq. and if wq is NULL, fn will be called by closure_put directly. periodt. πŸ’…

the reason is that after calling continue_at you no longer have a ref on cl, and whatever cl owns may be freed out from under you β€” a running closure fn has a ref on its own closure which continue_at drops. so like, that’s the ref math, bestie. 🫢

⚠️ note: you are expected to immediately return after using this macro. no cap. 😀

🌈 SEE ALSO 🌈

related lore lives in Kernel file ./include/linux/closure.h β€” go read these, iykyk:

xoxo, your kernel bestie πŸ’– β€” sourced from ./include/linux, dated October 2026. slay. πŸ’…

πŸ“¦ where this page comes from