linux/arch/powerpc
Paul Mackerras 46dec40fb7 KVM: PPC: Book3S HV: Don't truncate HPTE index in xlate function
This fixes a bug which causes guest virtual addresses to get translated
to guest real addresses incorrectly when the guest is using the HPT MMU
and has more than 256GB of RAM, or more specifically has a HPT larger
than 2GB.  This has showed up in testing as a failure of the host to
emulate doorbell instructions correctly on POWER9 for HPT guests with
more than 256GB of RAM.

The bug is that the HPTE index in kvmppc_mmu_book3s_64_hv_xlate()
is stored as an int, and in forming the HPTE address, the index gets
shifted left 4 bits as an int before being signed-extended to 64 bits.
The simple fix is to make the variable a long int, matching the
return type of kvmppc_hv_find_lock_hpte(), which is what calculates
the index.

Fixes: 697d3899dc ("KVM: PPC: Implement MMIO emulation support for Book3S HV guests")
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
2018-08-20 16:05:45 +10:00
..
boot powerpc/boot: Remove core support for Marvell mv64x60 hostbridges 2018-06-04 00:39:23 +10:00
configs powerpc/embedded6xx: Remove C2K board support 2018-06-04 00:39:22 +10:00
crypto crypto: hash - annotate algorithms taking optional key 2018-01-12 23:03:35 +11:00
include Linux 4.18-rc6 2018-08-06 17:31:36 +02:00
kernel powerpc/powernv: Fix save/restore of SPRG3 on entry/exit from stop (idle) 2018-07-18 20:40:17 +10:00
kvm KVM: PPC: Book3S HV: Don't truncate HPTE index in xlate function 2018-08-20 16:05:45 +10:00
lib treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
math-emu License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mm KVM: PPC: Check if IOMMU page is contained in the pinned physical page 2018-07-18 16:17:17 +10:00
net treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
oprofile treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
perf powerpc/perf: Unregister thread-imc if core-imc not supported 2018-06-03 20:43:37 +10:00
platforms powerpc/powermac: Fix rtc read/write functions 2018-06-27 13:48:49 +10:00
purgatory License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sysdev treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
tools powerpc/kbuild: move -mprofile-kernel check to Kconfig 2018-06-11 09:16:29 +09:00
xmon powerpc/xmon: Fix disassembly since printf changes 2018-07-17 21:18:14 +10:00
Kconfig Kbuild updates for v4.18 (2nd) 2018-06-13 08:40:34 -07:00
Kconfig.debug powerpc: Add new kconfig CONFIG_PPC_IRQ_SOFT_MASK_DEBUG 2018-01-19 22:37:03 +11:00
Makefile powerpc/Makefile: Assemble with -me500 when building for E500 2018-07-18 20:34:42 +10:00
Makefile.postlink License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00