batadv_orig_node_release(9)
π batadv_orig_node_release(9) β the Kernel API Manual moment
okay so bestie, welcome to the batadv_orig_node_release page from the Kernel API Manual π this one's short and sweet and honestly iconic in its simplicity β it's the little cleanup bestie that takes an orig_node off the lists and then queues it up to be freed after the RCU grace period β¨ no cap.
πΈ NAME πΈ
batadv_orig_node_release β release orig_node from lists and queue for free after rcu grace period π¦
like literally, it unhooks the thing from the lists and then hands it off to the RCU cleanup era, patiently waiting out the grace period before the actual free happens. main character behaviour: it does not rush. π
β¨ SYNOPSIS β¨
void batadv_orig_node_release (struct kref *ref );
returns void, takes one struct kref * β that's it, that's the whole mood π«Ά
π§ ARGUMENTS π§
refβ thekrefpointer of theorig_nodeπ like, the reference-count handle for the orig node you're releasing. that's the one (1) thing it wants from you.
π SEE ALSO π
the whole friend group, gathered here for you π and the kernel file where the magic lives: ./net/batman-adv/originator.c
batadv_orig_hash_find(9)batadv_compare_orig(9)batadv_orig_node_vlan_get(9)batadv_vlan_id_valid(9)batadv_orig_node_vlan_new(9)batadv_orig_node_vlan_release(9)batadv_originator_init(9)batadv_neigh_ifinfo_release(9)batadv_hardif_neigh_release(9)batadv_neigh_node_release(9)batadv_orig_router_get(9)batadv_orig_to_router(9)batadv_orig_ifinfo_get(9)batadv_orig_ifinfo_new(9)batadv_neigh_ifinfo_get(9)batadv_neigh_ifinfo_new(9)batadv_neigh_node_get(9)batadv_hardif_neigh_create(9)batadv_hardif_neigh_get_or_create(9)batadv_hardif_neigh_get(9)batadv_neigh_node_create(9)batadv_neigh_node_get_or_create(9)batadv_hardif_neigh_dump(9)batadv_orig_ifinfo_release(9)batadv_orig_node_free_rcu(9)batadv_originator_free(9)batadv_orig_node_new(9)batadv_purge_neigh_ifinfo(9)batadv_purge_orig_ifinfo(9)batadv_purge_orig_neighbors(9)batadv_find_best_neighbor(9)batadv_purge_orig_node(9)batadv_purge_orig_ref(9)batadv_purge_orig(9)batadv_orig_dump(9)
so yeah, bestie β this is the release path, meaning the memory isn't yeeted instantly. it sits in RCU timeout land first. that's on purpose, don't fight it π
starring ./net/batman-adv π¦ dated October 2026, and that's the whole batadv_orig_node_release(9) page β ily, go read your kernel source, periodt ππ₯
π¦ 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