KVM: PPC: Book3S HV: Add sanity check to copy_tofrom_guest
authorFabiano Rosas <farosas@linux.ibm.com>
Thu, 5 Aug 2021 21:26:15 +0000 (18:26 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Tue, 24 Aug 2021 13:14:06 +0000 (23:14 +1000)
commitc232461c0c3b0aca637f0d7658a7f5d0bb393a4e
treea78315996e8556ea6a80f9b11377590c68f12e52
parent5d7d6dac8fe99ed59eee2300e4a03370f94d5222
KVM: PPC: Book3S HV: Add sanity check to copy_tofrom_guest

Both paths into __kvmhv_copy_tofrom_guest_radix ensure that we arrive
with an effective address that is smaller than our total addressable
space and addresses quadrant 0.

- The H_COPY_TOFROM_GUEST hypercall path rejects the call with
H_PARAMETER if the effective address has any of the twelve most
significant bits set.

- The kvmhv_copy_tofrom_guest_radix path clears the top twelve bits
before calling the internal function.

Although the callers make sure that the effective address is sane, any
future use of the function is exposed to a programming error, so add a
sanity check.

Suggested-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210805212616.2641017-3-farosas@linux.ibm.com
arch/powerpc/kvm/book3s_64_mmu_radix.c