linux_dsm_epyc7002/arch/arm64/kvm
Will Deacon b757b47a2f KVM: arm64: Don't inherit exec permission across page-table levels
If a stage-2 page-table contains an executable, read-only mapping at the
pte level (e.g. due to dirty logging being enabled), a subsequent write
fault to the same page which tries to install a larger block mapping
(e.g. due to dirty logging having been disabled) will erroneously inherit
the exec permission and consequently skip I-cache invalidation for the
rest of the block.

Ensure that exec permission is only inherited by write faults when the
new mapping is of the same size as the existing one. A subsequent
instruction abort will result in I-cache invalidation for the entire
block mapping.

Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Tested-by: Quentin Perret <qperret@google.com>
Reviewed-by: Quentin Perret <qperret@google.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200723101714.15873-1-will@kernel.org
2020-07-28 09:03:57 +01:00
..
hyp KVM/arm64 fixes for Linux 5.8, take #1 2020-06-11 14:02:32 -04:00
vgic KVM: arm64: vgic-v4: Plug race between non-residency and v4.1 doorbell 2020-06-23 11:24:39 +01:00
aarch32.c KVM: arm64: Synchronize sysreg state on injecting an AArch32 exception 2020-06-10 16:04:08 +01:00
arch_timer.c
arm.c KVM/arm64 fixes for Linux 5.8, take #1 2020-06-11 14:02:32 -04:00
debug.c
fpsimd.c
guest.c
handle_exit.c KVM: arm64: Handle PtrAuth traps early 2020-06-09 10:59:52 +01:00
hyp-init.S KVM: arm64: Stop clobbering x0 for HVC_SOFT_RESTART 2020-07-06 11:47:02 +01:00
hyp.S
hypercalls.c
inject_fault.c
irq.h
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile
mmio.c
mmu.c KVM: arm64: Don't inherit exec permission across page-table levels 2020-07-28 09:03:57 +01:00
perf.c
pmu-emul.c
pmu.c KVM: arm64: PMU: Fix per-CPU access in preemptible context 2020-07-06 11:47:02 +01:00
psci.c
pvtime.c KVM: arm64: pvtime: Ensure task delay accounting is enabled 2020-06-22 15:35:57 +01:00
regmap.c
reset.c KVM: arm64: Fix kvm_reset_vcpu() return code being incorrect with SVE 2020-06-22 14:39:57 +01:00
sys_regs_generic_v8.c
sys_regs.c KVM/arm64 fixes for Linux 5.8, take #1 2020-06-11 14:02:32 -04:00
sys_regs.h
trace_arm.h
trace_handle_exit.h
trace.h
va_layout.c
vgic-sys-reg-v3.c