aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--security/Kconfig18
-rw-r--r--security/security.c4
2 files changed, 21 insertions, 1 deletions
diff --git a/security/Kconfig b/security/Kconfig
index 25ffe1b9dc98..5dfc206748cf 100644
--- a/security/Kconfig
+++ b/security/Kconfig
@@ -104,6 +104,24 @@ config SECURITY_ROOTPLUG
104 104
105 If you are unsure how to answer this question, answer N. 105 If you are unsure how to answer this question, answer N.
106 106
107config SECURITY_DEFAULT_MMAP_MIN_ADDR
108 int "Low address space to protect from user allocation"
109 depends on SECURITY
110 default 0
111 help
112 This is the portion of low virtual memory which should be protected
113 from userspace allocation. Keeping a user from writing to low pages
114 can help reduce the impact of kernel NULL pointer bugs.
115
116 For most users with lots of address space a value of 65536 is
117 reasonable and should cause no problems. Programs which use vm86
118 functionality would either need additional permissions from either
119 the LSM or the capabilities module or have this protection disabled.
120
121 This value can be changed after boot using the
122 /proc/sys/vm/mmap_min_addr tunable.
123
124
107source security/selinux/Kconfig 125source security/selinux/Kconfig
108source security/smack/Kconfig 126source security/smack/Kconfig
109 127
diff --git a/security/security.c b/security/security.c
index b6c57a6b2ff5..d15e56cbaade 100644
--- a/security/security.c
+++ b/security/security.c
@@ -23,7 +23,9 @@ extern struct security_operations dummy_security_ops;
23extern void security_fixup_ops(struct security_operations *ops); 23extern void security_fixup_ops(struct security_operations *ops);
24 24
25struct security_operations *security_ops; /* Initialized to NULL */ 25struct security_operations *security_ops; /* Initialized to NULL */
26unsigned long mmap_min_addr; /* 0 means no protection */ 26
27/* amount of vm to protect from userspace access */
28unsigned long mmap_min_addr = CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR;
27 29
28static inline int verify(struct security_operations *ops) 30static inline int verify(struct security_operations *ops)
29{ 31{