__handle_changed_spte(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… __handle_changed_spte(9) πŸ’…

ok so bestie, welcome to the __handle_changed_spte(9) page β€” it lives in the Kernel API Manual, and it's literally all about doing the bookkeeping when an SPTE changes. no cap, that's the whole vibe. πŸ¦‹


✨ SYNOPSIS ✨

int __handle_changed_spte (struct kvm *kvm , struct kvm_mmu_page *sp ,
gfn_t gfn , u64 old_spte , u64 new_spte , int level , bool shared );

she's giving seven parameters and a dream πŸŽ€


🌸 ARGUMENTS 🌸

  • kvm β€” the kvm instance in question, the main character of this whole operation πŸ‘‘
  • sp β€” the page table that the SPTE is chilling inside of
  • gfn β€” the base GFN that was mapped by the SPTE, iykyk
  • old_spte β€” the value of the SPTE before the change (the before pic πŸ“Έ)
  • new_spte β€” the value of the SPTE after the change (the glow-up ✨)
  • level β€” the level of the PT that the SPTE is part of in the paging structure
  • shared β€” okay so this one's important: this operation may not be running under the exclusive use of the MMU lock, and the operation must synchronize with other threads that might be modifying SPTEs. so like, be careful, fr fr πŸ™ˆ

πŸ’– DESCRIPTION πŸ’–

Handle the bookkeeping that might result from the modification of a SPTE. that's it, that's the job. 🫢

not me about to say the quiet part out loud: dirty logging updates are handled in common code, not here β€” see make_spte and fast_pf_fix_direct_spte. so don't come looking for them in this function, bestie. πŸ’€

πŸ”₯ SEE ALSO πŸ”₯


and that's the page! 🌈 this whole thing comes to you from ./arch/x86/kvm/mmu, dated October 2026, and it's signed __handle_changed_spte(9) β€” slay, go forth and handle those SPTE changes responsibly πŸ’œπŸŽ€

πŸ“¦ where this page comes from