linux/arch/mips
James Hogan f3a8603f09 KVM: MIPS/TLB: Fix off-by-one in TLB invalidate
kvm_mips_host_tlb_inv() uses the TLBP instruction to probe the host TLB
for an entry matching the given guest virtual address, and determines
whether a match was found based on whether CP0_Index > 0. This is
technically incorrect as an index of 0 (with the high bit clear) is a
perfectly valid TLB index.

This is harmless at the moment due to the use of at least 1 wired TLB
entry for the KVM commpage, however we will soon be ridding ourselves of
that particular wired entry so lets fix the condition in case the entry
needing invalidation does land at TLB index 0.

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
2017-02-03 15:20:53 +00:00
..
alchemy clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
ar7
ath25
ath79
bcm47xx
bcm63xx
bmips
boot RTC for 4.10 2016-12-18 18:18:03 -08:00
cavium-octeon clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
cobalt
configs
dec Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
emma
fw
generic
include KVM: MIPS: Add fast path TLB refill handler 2017-02-03 15:20:53 +00:00
jazz Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
jz4740 clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
kernel Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-25 14:30:04 -08:00
kvm KVM: MIPS/TLB: Fix off-by-one in TLB invalidate 2017-02-03 15:20:53 +00:00
lantiq MIPS: Lantiq: Fix mask of GPE frequency 2016-12-11 11:20:25 +01:00
lasat
lib
loongson32 clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
loongson64 clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
math-emu Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
mm MIPS: Export some tlbex internals for KVM to use 2017-02-03 15:19:01 +00:00
mti-malta clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
net
netlogic clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
oprofile Merge branch 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-25 14:05:56 -08:00
paravirt
pci
pic32
pistachio
pmcs-msp71xx
pnx833x
power
ralink
rb532
sgi-ip22 Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
sgi-ip27 clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
sgi-ip32 Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
sibyte Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
sni
txx9
vdso
vr41xx
xilfpga
Kbuild
Kbuild.platforms
Kconfig
Kconfig.debug
Makefile