batadv_skb_head_push(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… batadv_skb_head_push(9)

okay so bestie, welcome to the Kernel API Manual β€” this one's batadv_skb_head_push, and it literally does what it says on the tin: it bumps up the header size and pushes that head pointer forward. slay. πŸŽ€


✨ NAME ✨

batadv_skb_head_push β€” increase header size and move (push) the head pointer πŸ’«


🌸 SYNOPSIS 🌸

int batadv_skb_head_push (struct sk_buff *skb , unsigned int len );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • skb β€” the packet buffer that's getting modified, that's her, she's the main character 🌈
  • len β€” how many bytes you wanna add. the number. the amount. periodt πŸ’…

πŸ”₯ DESCRIPTION πŸ”₯

⚠️ warning bestie, read this twice: this function may reallocate the skb data buffer via skb_cow_head/...

and like… what that means is if you grabbed any pointer into the skb data before this call β€” think something you got from skb->data or eth_hdr β€” you gotta consider it invalid afterwards. gone. expired. no cap. 😭 you literally have to reacquire it, there is no workaround, this is not a drill.

so like, don't be out here holding onto stale pointers, it's giving undefined behavior energy and we don't do that πŸ™ˆ


πŸ‘‘ RETURN πŸ‘‘

  • 0 on success πŸŽ‰
  • a negative error number if it fails πŸ’€

🧚 SEE ALSO 🧚

kernel file ./net/batman-adv/mesh-interface.c, plus the whole friend group:

like… that's a lot of siblings, but they're all iconic in their own way 🫢


mwah πŸ’‹ this page came from ./net/batman-adv, dated October 2026, and it's the batadv_skb_head_push(9) manual β€” go forth and reacquire your pointers, bestie, ily ⭐

πŸ“¦ where this page comes from