STRUCT CLEAN_WALK(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct clean_walk(9) ✨

okay so bestie, welcome to the struct clean_walk(9) page πŸ’… this is your girl's guide to... well, a private struct, so it's kinda exclusive, iykyk. It lives in the Kernel API Manual and it's the private struct for the clean_record_pte function. Private! main character energy only πŸŽ€


🌸 NAME 🌸

struct clean_walk β€” the private struct for the clean_record_pte function. not for the general public, bestie, it's giving backstage pass 🎟️


πŸ¦‹ SYNOPSIS πŸ¦‹

struct clean_walk {
    struct wp_walk base;
    pgoff_t bitmap_pgoff;
    unsigned long *bitmap;
    pgoff_t start;
    pgoff_t end;
 };

yeah that's the whole vibe. five members, zero drama πŸ’€ (well, one tiny bit of drama β€” see start and end below).


🧚 Members 🧚

okay let's meet the cast, one by one, no skipping fr fr πŸ‘‘

  • base β€” the struct wp_walk we derive from. it's the parent it's inheriting from, the nepo baby of the struct πŸ’–
  • bitmap_pgoff β€” the address_space page offset of the first bit in bitmap. like, bit zero's home address 🏠
  • bitmap β€” a bitmap with one bit for each page offset in the address_space range covered. one bit per page offset, so it stays lowkey tiny and slay ✨
  • start β€” the address_space page offset of the first modified pte, relative to bitmap_pgoff. relative!! not absolute!! don't come for me, that's just what it is πŸ™ˆ
  • end β€” the address_space page offset of the last modified pte, relative to bitmap_pgoff. same deal, also relative, stay mad about it 🫢
real talk: start and end are both measured relative to bitmap_pgoff, so if you read them as absolute offsets you're gonna have a bad time. no cap πŸ’€

πŸ‘€ SEE ALSO πŸ‘€

go touch some other pages bestie, they're all in the kernel file ./mm/mapping_dirty_helpers.c:


and that's the whole page, you ate that πŸ“πŸ’œ this came out of ./mm and it's dated October 2026 β€” so go forth, read your pte's, and remember: private structs are private for a reason. mwah 🌈⭐

πŸ“¦ where this page comes from