skb_linearize(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ skb_linearize ✨

okay so you're reading the Kernel API Manual page for skb_linearize(9) and honestly? it's a short one, bestie. bite-sized. a little snack. let's get into it πŸ’…


πŸŽ€ NAME πŸŽ€

skb_linearize β€” convert paged skb to linear one

like, it takes your skb that's all spread out across pages and smooshes it into one continuous linear chunk. glow-up for your buffer fr fr ✨


🌸 SYNOPSIS 🌸

int skb_linearize (struct sk_buff *skb );

that's it. that's the whole signature. one argument, returns an int. simple. elegant. iconic. πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • skb β€” the buffer to linarize 🫢 (yes the original spells it linarize, and no I'm not fixing it, it's got main character energy now β€” it means linearize, you know what it means)

🧚 DESCRIPTION 🧚

so here's the vibe check πŸ” β€” if there is no free memory, -ENOMEM gets returned. that's the sad path, the "bestie the allocator said no" path 😭

otherwise? zero is returned πŸŽ‰ and the old skb data gets released. so you get a shiny new linear buffer and the old one says bye-bye. slay.

lowkey important: it's -ENOMEM on failure and zero on success. not a byte count, not a boolean. zero. got it? πŸ’–

πŸ”₯ SEE ALSO πŸ”₯

bestie I'm not gonna lie to you, this list is long long. like, the whole sk_buff extended universe is in here. but you asked for every single one so here we go, buckle up 🎒

first up, the kernel file: ./include/linux/skbuff.h, then:

okay that's all 112 of them. my fingers are tired but I would do it again for you 🫢 that's the whole skb friend group and they all ate πŸ’…


and that's the page!! 🌈 this little gem lives in ./include/linux and it's dated October 2026, so like, future vibes but make it kernel. go linearize something, bestie β€” responsibly, and check your return values πŸ˜ŒπŸ’–β­

πŸ“¦ where this page comes from