__gaccess_shadow_fault(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… __gaccess_shadow_fault(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual page for __gaccess_shadow_fault(9) β€” this is the little kernel icon that handles a fault on a shadow page table, and we’re gonna read it together like a group chat ✨.


✨ NAME ✨

__gaccess_shadow_fault β€” Handle fault on a shadow page table. literally what it says on the tin, bestie πŸ’….

🌸 SYNOPSIS 🌸

       int __gaccess_shadow_fault (struct kvm_vcpu *vcpu , struct gmap *sg ,
       gpa_t saddr , union mvpg_pei *datptr , bool wr );

πŸŽ€ ARGUMENTS πŸŽ€

this is the cast of characters, and every single one matters 🫢:

  • vcpu β€” Virtual cpu that triggered the action. the main character who tripped the fault 😭.
  • sg β€” The shadow guest address space structure. iconic shadow gmap energy.
  • saddr β€” Faulting address in the shadow gmap. the exact spot where the drama is happening.
  • datptr β€” Will contain the address of the faulting DAT table entry, or of the valid leaf, plus some flags. so it comes back holding the receipt 🧾✨.
  • wr β€” Whether this is a write access. write or not, that’s the question πŸ’….

πŸ”₯ RETURN πŸ”₯

the return values are the vibe check, no cap:

  • 0 if the shadow fault was successfully resolved β€” slay, we fixed it πŸ’–
  • > 0 (pgm exception code) on exceptions while faulting β€” so greater than zero, and it comes with a pgm exception code.
  • -EAGAIN if the caller can retry immediately β€” okay bestie, run it back πŸ”
  • -EFAULT when accessing invalid guest addresses β€” invalid guest address said absolutely not πŸ™ˆ
  • -ENOMEM if out of memory β€” the memory budget is giving empty 😭

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./arch/s390/kvm/s390/gaccess.c β€” and the whole related squad is:


mwah πŸ’‹ that’s the whole page, bestie β€” from ./arch/s390/kvm/s390, dated October 2026. go handle those shadow faults, icon πŸ‘‘βœ¨

πŸ“¦ where this page comes from