read_guest_with_key(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– read_guest_with_key(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ β€” this is the page for read_guest_with_key(9), and honestly? it's giving "tiny function, big responsibilities" and i'm obsessed πŸŽ€


🌸 NAME 🌸

read_guest_with_key β€” copy data from guest space to kernel space πŸ’«

like literally that's the whole job. copy the data. move it over. slay πŸ’…


✨ SYNOPSIS ✨

int read_guest_with_key (struct kvm_vcpu *vcpu , unsigned long ga , u8
ar , void *data , unsigned long len , u8 access_key );

one function, six arguments, no notes πŸ‘‘ (jk there are notes, they're right below 🫢)


πŸ¦‹ ARGUMENTS πŸ¦‹

  • vcpu β€” virtual cpu. the whole entire vibe of this operation, lowkey the main character here πŸ’œ
  • ga β€” guest address. this is where in guest space we're reading from, iykyk πŸ“
  • ar β€” access register. yes bestie it's exactly what it sounds like 🌈
  • data β€” destination address in kernel space. the data's new home 🏠✨
  • len β€” number of bytes to copy. not one more, not one less, we're precise here fr fr πŸ”’
  • access_key β€” access key the storage key needs to match. it's a whole vibe check for keys πŸ”‘πŸ’…

🧚 DESCRIPTION 🧚

so the tea is: copy len bytes from ga (guest address) over to data (kernel space). that's it. that's the function. short king behavior honestly πŸ‘‘πŸ«Ά

and here's the iconic part β€” the behaviour of read_guest_with_key is identical to write_guest_with_key, except that data will be copied from guest space to kernel space. πŸ”„ like yes they're twins but this one reads instead of writes, periodt πŸ’«

ngl it's a beautiful little family of functions and this one knows exactly which direction it's going 😭🌷

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./arch/s390/kvm/s390/gaccess.h πŸ“ β€” go read the header if you want the full lore, it's a whole rabbit hole πŸ‡πŸ’œ

then the rest of the squad, all iconic, all linked, no cap:

anyway bestie that's the page πŸ’– live your truth, read your guest bytes, and remember: it's len bytes, not a suggestion πŸ’…


πŸŽ€ mwah, bye bestie! this manual page lives at ./arch/s390/kvm/s390 and it was dated October 2026 β€” keep that in your notes, it's the receipt 🧾✨ πŸ¦‹πŸŒΈπŸ’œ
πŸ“¦ where this page comes from