Messages in this thread | | | From | Wanpeng Li <> | Date | Sat, 1 Feb 2020 13:53:31 +0800 | Subject | Re: [FYI PATCH 0/5] Missing TLB flushes |
| |
On Fri, 31 Jan 2020 at 02:02, Paolo Bonzini <pbonzini@redhat.com> wrote: > > From: Boris Ostrovsky <boris.ostrovsky@oracle.com> > > The KVM hypervisor may provide a guest with ability to defer remote TLB > flush when the remote VCPU is not running. When this feature is used, > the TLB flush will happen only when the remote VPCU is scheduled to run > again. This will avoid unnecessary (and expensive) IPIs. > > Under certain circumstances, when a guest initiates such deferred action, > the hypervisor may miss the request. It is also possible that the guest > may mistakenly assume that it has already marked remote VCPU as needing > a flush when in fact that request had already been processed by the > hypervisor. In both cases this will result in an invalid translation > being present in a vCPU, potentially allowing accesses to memory locations > in that guest's address space that should not be accessible. > > Note that only intra-guest memory is vulnerable. > > The attached patches address both of these problems: > 1. The first patch makes sure the hypervisor doesn't accidentally clear > guest's remote flush request > 2. The rest of the patches prevent the race between hypervisor > acknowledging a remote flush request and guest issuing a new one.
Looks good, thanks for the patchset.
Wanpeng
| |