KVM: x86: Ensure PV TLB flush tracepoint reflects KVM behavior
stable inclusion from stable-v5.10.180 commit 4b19cbdb1dd39874fc530250c588041609bdc11d category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I8FC2O Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4b19cbdb1dd39874fc530250c588041609bdc11d -------------------------------- From: Lai Jiangshan <laijs@linux.alibaba.com> commit af3511ff upstream. In record_steal_time(), st->preempted is read twice, and trace_kvm_pv_tlb_flush() might output result inconsistent if kvm_vcpu_flush_tlb_guest() see a different st->preempted later. It is a very trivial problem and hardly has actual harm and can be avoided by reseting and reading st->preempted in atomic way via xchg(). Signed-off-by:Lai Jiangshan <laijs@linux.alibaba.com> Message-Id: <20210531174628.10265-1-jiangshanlai@gmail.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Rishabh Bhatnagar <risbhat@amazon.com> Tested-by:
Allen Pais <apais@linux.microsoft.com> Acked-by:
Sean Christopherson <seanjc@google.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by:
sanglipeng <sanglipeng1@jd.com>
Loading
Please sign in to comment