diff options
author | James Hogan <james.hogan@imgtec.com> | 2016-04-22 10:38:47 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2016-05-10 15:56:51 +0200 |
commit | f049729c05cc5338174d52e2bee6678131da5e08 (patch) | |
tree | aec6e28521d00a1dba684dc5d652e571e4b2aa9b /net/hsr/hsr_device.c | |
parent | b45bacd2d048f405c7760e5cc9b60dd67708734f (diff) | |
download | linux-f049729c05cc5338174d52e2bee6678131da5e08.tar.gz linux-f049729c05cc5338174d52e2bee6678131da5e08.tar.bz2 linux-f049729c05cc5338174d52e2bee6678131da5e08.zip |
MIPS: KVM: Fix preemptable kvm_mips_get_*_asid() calls
There are a couple of places in KVM fault handling code which implicitly
use smp_processor_id() via kvm_mips_get_kernel_asid() and
kvm_mips_get_user_asid() from preemptable context. This is unsafe as a
preemption could cause the guest kernel ASID to be changed, resulting in
a host TLB entry being written with the wrong ASID.
Fix by disabling preemption around the kvm_mips_get_*_asid() call and
the corresponding kvm_mips_host_tlb_write().
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Radim KrÄmář" <rkrcmar@redhat.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Cc: kvm@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'net/hsr/hsr_device.c')
0 files changed, 0 insertions, 0 deletions