diff options
author | Marc Zyngier <maz@kernel.org> | 2019-12-11 17:56:48 +0100 |
---|---|---|
committer | Marc Zyngier <maz@kernel.org> | 2019-12-12 17:22:40 +0100 |
commit | 6d674e28f642e3ff676fbae2d8d1b872814d32b6 (patch) | |
tree | 5b9bab0ecf1b4fdcdb0275aa1a5c35db026110a8 /arch | |
parent | KVM: arm64: Ensure 'params' is initialised when looking up sys register (diff) | |
download | linux-6d674e28f642e3ff676fbae2d8d1b872814d32b6.tar.xz linux-6d674e28f642e3ff676fbae2d8d1b872814d32b6.zip |
KVM: arm/arm64: Properly handle faulting of device mappings
A device mapping is normally always mapped at Stage-2, since there
is very little gain in having it faulted in.
Nonetheless, it is possible to end-up in a situation where the device
mapping has been removed from Stage-2 (userspace munmaped the VFIO
region, and the MMU notifier did its job), but present in a userspace
mapping (userpace has mapped it back at the same address). In such
a situation, the device mapping will be demand-paged as the guest
performs memory accesses.
This requires to be careful when dealing with mapping size, cache
management, and to handle potential execution of a device mapping.
Reported-by: Alexandru Elisei <alexandru.elisei@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Tested-by: Alexandru Elisei <alexandru.elisei@arm.com>
Reviewed-by: James Morse <james.morse@arm.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20191211165651.7889-2-maz@kernel.org
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions