kvm_s390_pv_dump_stor_state(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

okay so bestie, welcome to the kvm_s390_pv_dump_stor_state(9) page from the Kernel API Manual πŸ«ΆπŸ’–

The NAME line is literally just kvm_s390_pv_dump_stor_state β€” dash, then nothing. No extra one-liner, no secret subtitle. We are not inventing one, periodt. πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

The function is declared exactly like this, no cap:

int kvm_s390_pv_dump_stor_state (struct kvm *kvm , void __user *buff_user , u64 *gaddr , u64 buff_user_len , u16 *rc , u16 *rrc );

πŸŽ€ ARGUMENTS πŸŽ€

These are the parameters, bestie β€” every single one matters:

  • kvm β€” pointer to the guest's KVM struct, iykyk.
  • buff_user β€” Userspace pointer where we will write the results to. That's where the data goes πŸ’–
  • gaddr β€” Starting absolute guest address for which the storage state is requested.
  • buff_user_len β€” Length of the buff_user buffer.
  • rc β€” Pointer to where the uvcb return code is stored.
  • rrc β€” Pointer to where the uvcb return reason code is stored.

πŸ’… DESCRIPTION πŸ’…

okay so the actual job: stores buff_len bytes of tweak component values to buff_user, starting with the 1MB block specified by the absolute guest address (gaddr). ✨

The gaddr pointer will be updated with the last address for which data was written when returning to userspace. 🫢

heads up, bestie: buff_user might be written to even if an error rc is returned. For instance if we encounter a fault after writing the first page of data. 😭

πŸ”’ CONTEXT πŸ”’

kvm->lock needs to be held. That's it. That's the context. Do not forget it, bestie. πŸ’…

🌈 RETURN 🌈

  • 0 on success β€” slay.
  • -ENOMEM if allocating the cache fails.
  • -EINVAL if gaddr is not aligned to 1MB.
  • -EINVAL if buff_user_len is not aligned to uv_info.conf_dump_storage_state_len.
  • -EINVAL if the UV call fails, rc and rrc will be set in this case.
  • -EFAULT if copying the result to buff_user failed.

🫢 SEE ALSO 🫢

Kernel file ./arch/s390/kvm/s390/pv.c has the source-lore, and these are the linked manpage besties:


mwah πŸ’‹ that's the page! The source line was ./arch/s390/kvm/s390, and the date stamp says October 2026. Catch you in the next manpage, bestie 🫢✨

πŸ“¦ where this page comes from