netlbl_unlhsh_free_iface(9)
π netlbl_unlhsh_free_iface(9) β the kernel API manual, but make it make sense π
Okay bestie, gather round, because today we're reading netlbl_unlhsh_free_iface(9) from the Kernel API Manual, and honestly? She's a tiny function with a big job. β¨
π NAME π
netlbl_unlhsh_free_iface β literally just frees an interface entry from the hash table. That's the whole vibe. π
π¦ SYNOPSIS π¦
void netlbl_unlhsh_free_iface (struct rcu_head *entry );
Yes, that's it. One argument. No cap. π«Ά
πΈ ARGUMENTS πΈ
entryβ the entry's RCU field, babe. That's the thing you're handing over. π
β DESCRIPTION β
So here's the tea, bestie: this function is designed to be used as a callback to the call_rcu function, so that the memory allocated to a hash table interface entry can be released safely. Safety first, always. π
But like β and this is the important part, so pay attention β this function does not free the IPv4 and IPv6 address lists that are contained as part of an interface entry. She said "not my department." π It is up to the rest of the code to make sure an interface entry is only freed once its address lists are empty.
Fr fr, lowkey the biggest gotcha on this whole page: a non-empty address list + a free = bad vibes. The rest of the code has to handle that part. Don't @ me, @ the rest of the code. π
π SEE ALSO π
The whole friend group, in the order the page lists them, because we don't do anyone dirty here:
- Kernel file
./net/netlabel/netlabel_unlabeled.c netlbl_unlhsh_hash(9)netlbl_unlhsh_search_iface(9)netlbl_unlhsh_add_addr4(9)netlbl_unlhsh_add_addr6(9)netlbl_unlhsh_add_iface(9)netlbl_unlhsh_add(9)netlbl_unlhsh_remove_addr4(9)netlbl_unlhsh_remove_addr6(9)netlbl_unlhsh_condremove_iface(9)netlbl_unlhsh_remove(9)netlbl_unlhsh_netdev_handler(9)netlbl_unlabel_acceptflg_set(9)netlbl_unlabel_addrinfo_get(9)netlbl_unlabel_accept(9)netlbl_unlabel_list(9)netlbl_unlabel_staticadd(9)netlbl_unlabel_staticadddef(9)netlbl_unlabel_staticremove(9)netlbl_unlabel_staticremovedef(9)netlbl_unlabel_staticlist_gen(9)netlbl_unlabel_staticlist(9)netlbl_unlabel_staticlistdef(9)netlbl_unlabel_genl_init(9)netlbl_unlabel_init(9)netlbl_unlabel_getattr(9)netlbl_unlabel_defconf(9)
Go read them. All of them. It's giving study group. ππ
Sign-off time, besties π§ββοΈπ β this lil' page lives in ./net/netlabel, and it's dated October 2026. Slay, see you in the next call_rcu callback. 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