rtnl_dereference(9)
π rtnl_dereference β like, the Kernel API Manual one, bestie β¨
Okay so picture this: you're deep in kernel land, the Kernel API Manual is your whole personality, and you need to grab an RCU pointer but updates are already being blocked by RTNL. That's the entire vibe of rtnl_dereference(9). Let's get into it π
β¨ NAME β¨
rtnl_dereference β fetch an RCU pointer when updates are prevented by RTNL π¦
Like, the whole point: you want the pointer, and you already know RTNL has your back. No cap.
πΈ SYNOPSIS πΈ
rtnl_dereference (p );
That's it. That's the whole call. One argument, zero drama π
π ARGUMENTS π
pβ the pointer to read, before you dereference it. Read first, dereference second, that's the order, don't get cute with it π
β RETURN β
You get back the value of that specified RCU-protected pointer β but it omits the READ_ONCE, because the caller holds RTNL π
lowkey important: the READ_ONCE is not there on purpose. You're holding RTNL, so it's fine. Do not go adding your own little flair to this, fr fr.
π«Ά SEE ALSO π«Ά
Kernel file ./include/linux/rtnetlink.h has the whole squad:
Go read them, they're iconic too π
Okay bestie that's the page, go forth and dereference responsibly π This lil gem lives in ./include/linux, dated October 2026, and honestly? She ate. πβ¨
π¦ 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