summaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/pgtable.h
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2016-06-13 15:00:49 +0100
committerChristoffer Dall <christoffer.dall@linaro.org>2016-06-29 14:01:34 +0200
commit0996353f8ec6c6dba4a1f916bf6d9ace6f7d2b49 (patch)
tree9fd6fce8a984beb595b3289100bfdd70d54525d7 /arch/arm/include/asm/pgtable.h
parent5900270550cbb8a272bfc248b69531cd44dcf0d5 (diff)
downloadlinux-0996353f8ec6c6dba4a1f916bf6d9ace6f7d2b49.tar.gz
linux-0996353f8ec6c6dba4a1f916bf6d9ace6f7d2b49.tar.bz2
linux-0996353f8ec6c6dba4a1f916bf6d9ace6f7d2b49.zip
arm/arm64: KVM: Make default HYP mappings non-excutable
Structures that can be generally written to don't have any requirement to be executable (quite the opposite). This includes the kvm and vcpu structures, as well as the stacks. Let's change the default to incorporate the XN flag. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Diffstat (limited to 'arch/arm/include/asm/pgtable.h')
-rw-r--r--arch/arm/include/asm/pgtable.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/include/asm/pgtable.h b/arch/arm/include/asm/pgtable.h
index 7487bf9f97dc..e0d76ba24b30 100644
--- a/arch/arm/include/asm/pgtable.h
+++ b/arch/arm/include/asm/pgtable.h
@@ -97,7 +97,7 @@ extern pgprot_t pgprot_s2_device;
#define PAGE_READONLY_EXEC _MOD_PROT(pgprot_user, L_PTE_USER | L_PTE_RDONLY)
#define PAGE_KERNEL _MOD_PROT(pgprot_kernel, L_PTE_XN)
#define PAGE_KERNEL_EXEC pgprot_kernel
-#define PAGE_HYP _MOD_PROT(pgprot_kernel, L_PTE_HYP)
+#define PAGE_HYP _MOD_PROT(pgprot_kernel, L_PTE_HYP | L_PTE_XN)
#define PAGE_HYP_EXEC _MOD_PROT(pgprot_kernel, L_PTE_HYP | L_PTE_RDONLY)
#define PAGE_HYP_RO _MOD_PROT(pgprot_kernel, L_PTE_HYP | L_PTE_RDONLY | L_PTE_XN)
#define PAGE_HYP_DEVICE _MOD_PROT(pgprot_hyp_device, L_PTE_HYP)