diff options
author | Sean Christopherson <seanjc@google.com> | 2024-10-10 11:24:16 -0700 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2024-10-25 13:00:49 -0400 |
commit | ee0fa693546decf6673a87e75dec39ed2ab1524b (patch) | |
tree | 8f367136685d364b4fbdcd183aaf9474983251e0 /virt | |
parent | 17b7dbaf183e9cc131bbf5311db8202d323aa667 (diff) | |
download | lwn-ee0fa693546decf6673a87e75dec39ed2ab1524b.tar.gz lwn-ee0fa693546decf6673a87e75dec39ed2ab1524b.zip |
KVM: PPC: Use kvm_vcpu_map() to map guest memory to patch dcbz instructions
Use kvm_vcpu_map() when patching dcbz in guest memory, as a regular GUP
isn't technically sufficient when writing to data in the target pages.
As per Documentation/core-api/pin_user_pages.rst:
Correct (uses FOLL_PIN calls):
pin_user_pages()
write to the data within the pages
unpin_user_pages()
INCORRECT (uses FOLL_GET calls):
get_user_pages()
write to the data within the pages
put_page()
As a happy bonus, using kvm_vcpu_{,un}map() takes care of creating a
mapping and marking the page dirty.
Signed-off-by: Sean Christopherson <seanjc@google.com>
Tested-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20241010182427.1434605-75-seanjc@google.com>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions