kfence_object_start(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… kfence_object_start β€” ok so where does this KFENCE object actually start? πŸ‘‘

Bestie, you're reading the kfence_object_start(9) page from the Kernel API Manual, and it's a short one but it's lowkey crucial, so stay with me 🫢


✨ NAME ✨

kfence_object_start β€” find the beginning of a KFENCE object 🌸


πŸŽ€ SYNOPSIS πŸŽ€

void * kfence_object_start (const void *addr );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • addr β€” an address that lives inside a KFENCE-allocated object. Like, somewhere in there. You don't need it to be the start, that's literally the whole point πŸ’…

⭐ RETURN ⭐

It hands you back the address of the beginning of the object. The actual start. The main character position πŸ‘‘


πŸ’– DESCRIPTION πŸ’–

Okay so here's the tea β˜• β€” SL[AU]B-allocated objects are laid out within a page one by one, so it's easy peasy to calculate the beginning of an object given a pointer inside it and the object size. Math, but like, chill math.

The same is not true for KFENCE 😭 KFENCE places a single object at either end of the page β€” like, either the front or the back, no in-between, it's giving dramatic entrances only.

So this helper function exists to find the beginning of a KFENCE-allocated object, because you genuinely cannot just do the arithmetic yourself. That's the vibe. That's the job. Slay 🧚


πŸ”₯ SEE ALSO πŸ”₯


Bestie reminder: that's the whole friend group up there, so if you're poking at KFENCE stuff you're gonna want all of them in your tabs πŸ’€

And that's the page!! 🌈 No cap, it's a tiny one. This came to you from ./include/linux, dated October 2026, under the handle kfence_object_start(9) β€” mwah, bye bestie, go find those object starts πŸ’œπŸŽ€βœ¨

πŸ“¦ where this page comes from