STRUCT REMAP_ADDRESSES_KEY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct remap_addresses_key(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual, and buckle up because we're talking about a struct that's literally the glow-up machine for addresses ✨


🌸 NAME 🌸

struct remap_addresses_key β€” the key that maps your original addresses to the remapped ones. it's giving matchmaker, honestly 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

struct remap_addresses_key {
    struct machine *machine;
    struct dso *dso;
    u64 invariant;
    pid_t pid;
 };

πŸŽ€ Members πŸŽ€

  • dso β€” pointer to the DSO (Dynamic Shared Object) that's associated with the mapping. like, this is the whole shared-object vibe for this map πŸ’–
  • invariant β€” a unique offset invariant within the VMA (Virtual Memory Area). it gets calculated as start - pgoff. and the way this value just stays constant?? iconic. here's why that matters: when perf's internal maps__fixup_overlap_and_insert splits a map into fragmented VMA pieces because events are overlapping (messy, I know 😭), this little value stays put, which lets us resolve those split maps consistently right back to the original VMA. so no cap, it's the anchor keeping everything from falling apart πŸ”₯
  • pid β€” the Process ID associated with the mapping. simple, cute, essential πŸ‘‘

πŸ’œ SEE ALSO πŸ’œ

  • Kernel file ./tools/perf/util/aslr.c β€” go read it, iykyk πŸ“–

alright bestie, that's the whole struct, go slay πŸ’…βœ¨

this page came to you from ./tools/perf/util, dated October 2026, and it's filed under struct remap_addresses_key(9) in the Kernel API Manual β€” mwah, love u, bye πŸŽ€πŸ¦‹πŸ’–
πŸ“¦ where this page comes from