linux/arch/arm64
Dave Martin 2fdce53c4a arm64: KVM: Tighten guest core register access from userspace
commit d26c25a9d1 upstream.

We currently allow userspace to access the core register file
in about any possible way, including straddling multiple
registers and doing unaligned accesses.

This is not the expected use of the ABI, and nobody is actually
using it that way. Let's tighten it by explicitly checking
the size and alignment for each field of the register file.

Fixes: 2f4a07c5f9 ("arm64: KVM: guest one-reg interface")
Reviewed-by: Christoffer Dall <christoffer.dall@arm.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
[maz: rewrote Dave's initial patch to be more easily backported]
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
History 2018-12-16 22:09:32 +00:00
..
boot arm64: dts: Add more serial port nodes in APM X-Gene device tree 2014-06-18 12:41:55 +01:00
configs arm64: defconfig update for LTP 2014-06-18 12:40:52 +01:00
crypto crypto: arm64/aes-blk - honour iv_out requirement in CBC and CTR modes 2017-03-16 02:27:04 +00:00
include arm64: use linux/types.h in kvm.h 2018-11-20 18:06:02 +00:00
kernel arm64: __show_regs: Only resolve kernel symbols when running at EL1 2018-06-16 22:22:21 +01:00
kvm arm64: KVM: Tighten guest core register access from userspace 2018-12-16 22:09:32 +00:00
lib arm64: __clear_user: handle exceptions on strb 2014-11-27 11:21:47 +00:00
mm arm64: mm: check for upper PAGE_SHIFT bits in pfn_valid() 2018-12-16 22:08:48 +00:00
xen arm: xen: implement multicall hypercall support. 2014-04-24 13:09:46 +01:00
Kconfig arm64: errata: add module build workaround for erratum #843419 2015-10-06 11:52:29 +01:00
Kconfig.debug arm64: remove arch specific earlyprintk 2014-04-24 16:32:27 -07:00
Makefile arm64: errata: Add -mpc-relative-literal-loads to build flags 2016-02-17 10:22:40 +00:00