KVM: PPC: Book3S HV: Explicitly disable HPT operations on radix guests
authorPaul Mackerras <paulus@ozlabs.org>
Wed, 13 Sep 2017 06:29:22 +0000 (16:29 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Sun, 15 Oct 2017 21:09:53 +0000 (08:09 +1100)
commit891f1ebf659edd24bba93182a8de0ba082dcff72
tree3515c62ac031ee3ae50ef892e605b7dc6004d087
parent3f2bb76433bb4348cd9076e4d305a040ff2012a9
KVM: PPC: Book3S HV: Explicitly disable HPT operations on radix guests

This adds code to make sure that we don't try to access the
non-existent HPT for a radix guest using the htab file for the VM
in debugfs, a file descriptor obtained using the KVM_PPC_GET_HTAB_FD
ioctl, or via the KVM_PPC_RESIZE_HPT_{PREPARE,COMMIT} ioctls.

At present nothing bad happens if userspace does access these
interfaces on a radix guest, mostly because kvmppc_hpt_npte()
gives 0 for a radix guest, which in turn is because 1 << -4
comes out as 0 on POWER processors.  However, that relies on
undefined behaviour, so it is better to be explicit about not
accessing the HPT for a radix guest.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/kvm/book3s_64_mmu_hv.c