batadv_hardif_release(9)
π batadv_hardif_release(9) β the kernel API glow-up
okay so this is a Kernel API Manual page, and honestly? it's a whole vibe. it lives in the batman-adv world, and today we're talking about batadv_hardif_release β the function that lets a hard interface go. bestie, it's the breakup function. it untangles the hard interface from all its lists and then... queues it up to actually be freed later, after an RCU grace period. iconic behavior, ngl.
πΈ NAME πΈ
batadv_hardif_release β release hard interface from lists and queue for free after rcu grace period
like, it takes the hard interface off the lists (no more hanging out with the other interfaces βοΈ) and puts it in line to get freed once the rcu grace period has passed. sitting in the waiting room, basically. π
β¨ SYNOPSIS β¨
void batadv_hardif_release (struct kref *ref );
that's the whole signature, no cap. returns void β nothing comes back, it just does the thing. π¦
π ARGUMENTS π
refβ kref pointer of the hard interface. that's it, that's the one argument. it's thestruct kref *pointing at the hard interface you're releasing. π«Ά
π SEE ALSO π
okay this section is a lot and we love her for it. so many siblings:
- Kernel file
./net/batman-adv/hard-interface.c batadv_hardif_get_by_netdev(9)batadv_getlink_net(9)batadv_mutual_parents(9)batadv_is_on_batman_iface(9)batadv_is_valid_iface(9)__batadv_get_real_netdev(9)batadv_get_real_netdev(9)batadv_is_wext_netdev(9)batadv_is_cfg80211_netdev(9)batadv_wifi_flags_evaluate(9)batadv_netdev_get_wifi_flags(9)batadv_hardif_get_wifi_flags(9)batadv_is_wifi_hardif(9)batadv_hardif_no_broadcast(9)batadv_hardif_get_active(9)batadv_primary_if_update_addr(9)batadv_primary_if_select(9)batadv_hardif_is_iface_up(9)batadv_check_known_mac_addr(9)batadv_hardif_recalc_extra_skbroom(9)batadv_hardif_min_mtu(9)batadv_update_min_mtu(9)batadv_hardif_activate_interface(9)batadv_hardif_deactivate_interface(9)batadv_hardif_enable_interface(9)batadv_hardif_disable_interface(9)batadv_hard_if_event_meshif(9)batadv_wifi_net_device_insert(9)batadv_wifi_net_device_remove(9)batadv_wifi_net_device_update(9)batadv_wifi_net_device_unregister(9)batadv_wifi_net_device_event(9)batadv_hard_if_event(9)batadv_wifi_net_devices_init(9)batadv_wifi_net_devices_deinit(9)
yeah. that's the whole friend group. take your time. π
π tiny reminder bestie: the freeing doesn't happen instantly β it's after the rcu grace period. don't go touching it before then, iykyk.
and that's the page!! π written for the Kernel API Manual, straight out of the ./net/batman-adv directory π§, dated October 2026, and yeah the header/footer both say batadv_hardif_release(9) because consistency is the moment. mwah π
β
π¦ 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