_dat_walk_gfn_range(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ NAME πŸ¦‹

okay so welcome to the _dat_walk_gfn_range(9) page from the Kernel API Manual, bestie β€” today we're learning how to walk DAT tables πŸ’… like literally just strolling through them, page frame by page frame, no cap


✨ SYNOPSIS ✨

long _dat_walk_gfn_range (gfn_t start , gfn_t end , union asce asce ,
const struct dat_walk_ops *ops , int flags , void *priv );

that's the whole signature, copy it exactly, do not freestyle it πŸ™ˆ


πŸŽ€ ARGUMENTS πŸŽ€

  • start β€” the first guest page frame that gets walked. your starting point, your main character entrance πŸ‘‘
  • end β€” the guest page frame immediately after the last one to walk. so like, it's exclusive β€” it's the one right after the finish line, not the finish line itself 🏁
  • asce β€” the ASCE of the guest mapping. yes queen, that ASCE 🫢
  • ops β€” the gmap_walk_ops that will be used to perform the walk. these are the ones doing the actual strolling πŸšΆβ€β™€οΈ
  • flags β€” flags from WALK_*, and rn literally only WALK_IGN_HOLES is supported (that's it, that's the whole list, she's a solo act πŸ’€)
  • priv β€” gets passed as-is to the callbacks. no vibes check, no modifications, straight through 🌈

πŸ’– DESCRIPTION πŸ’–

here's the tea: any callback that returns non-zero causes the walk to stop immediately. like, instantly. walk's over, everyone go home 😭 so if your callback is out here returning nonzero for fun, that's on you fr fr


πŸ”₯ RETURN πŸ”₯

  • -EINVAL β€” in case of error, classic 🫠
  • -EFAULT β€” if start is too high for the given ASCE, unless the DAT_WALK_IGN_HOLES flag is specified
  • otherwise β€” it returns whatever the callbacks return, literally whatever they hand back, that's the answer ✨
ngl bestie, peep that the flag list up in ARGUMENTS says WALK_IGN_HOLES and this RETURN bit says DAT_WALK_IGN_HOLES β€” both appear exactly like that in the original, so i'm keeping both spellings, no editing, no fixing, periodt πŸ’…

🌸 SEE ALSO 🌸

kernel file ./arch/s390/kvm/gmap/dat.c, plus these iconic little friends:

go read them, they ate πŸ‘‘


and that's the page!! πŸŽ€ this little beauty comes from ./arch/s390/kvm/gmap and it's dated October 2026, filed under _dat_walk_gfn_range(9) β€” mwah, go walk some tables, ily, bye πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from