summaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/domain.h
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-08-21 10:38:31 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2015-08-21 14:55:53 +0200
commita02d8dfd54cdf3b1b0464ccc2c1c4afe2c003a35 (patch)
treeb760333143b1fa4e3de0b6c22c854c67a1e47c4a /arch/arm/include/asm/domain.h
parentARM: domains: get rid of manager mode for user domain (diff)
downloadlinux-a02d8dfd54cdf3b1b0464ccc2c1c4afe2c003a35.tar.xz
linux-a02d8dfd54cdf3b1b0464ccc2c1c4afe2c003a35.zip
ARM: domains: keep vectors in separate domain
Keep the machine vectors in its own domain to avoid software based user access control from making the vector code inaccessible, and thereby deadlocking the machine. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/include/asm/domain.h')
-rw-r--r--arch/arm/include/asm/domain.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/include/asm/domain.h b/arch/arm/include/asm/domain.h
index 08b601e69ddc..396a12e486fe 100644
--- a/arch/arm/include/asm/domain.h
+++ b/arch/arm/include/asm/domain.h
@@ -43,6 +43,7 @@
#define DOMAIN_USER 1
#define DOMAIN_IO 0
#endif
+#define DOMAIN_VECTORS 3
/*
* Domain types
@@ -62,7 +63,8 @@
(domain_val(DOMAIN_USER, DOMAIN_CLIENT) | \
domain_val(DOMAIN_KERNEL, DOMAIN_MANAGER) | \
domain_val(DOMAIN_TABLE, DOMAIN_MANAGER) | \
- domain_val(DOMAIN_IO, DOMAIN_CLIENT))
+ domain_val(DOMAIN_IO, DOMAIN_CLIENT) | \
+ domain_val(DOMAIN_VECTORS, DOMAIN_CLIENT))
#ifndef __ASSEMBLY__