History

Security/SELinux: seperate lsm specific mmap_min_addr

Currently SELinux enforcement of controls on the ability to map low memory is determined by the mmap_min_addr tunable. This patch causes SELinux to ignore the tunable and instead use a seperate Kconfig option specific to how much space the LSM should protect. The tunable will now only control the need for CAP_SYS_RAWIO and SELinux permissions will always protect the amount of low memory designated by CONFIG_LSM_MMAP_MIN_ADDR. This allows users who need to disable the mmap_min_addr controls (usual reason being they run WINE as a non-root user) to do so and still have SELinux controls preventing confined domains (like a web server) from being able to map some area of low memory.

Eric Paris committed 17 years ago

Commit 788084a1 parent 8cf948e11 files · +92 −30Browse files

Showing the changes to kernel (1 of 11 files). Show all

Unified · Split

kernel/sysctl.c+4−3
@@ -49,6 +49,7 @@ · 48 unmodified lines
4949 #include <linux/acpi.h>
5050 #include <linux/reboot.h>
5151 #include <linux/ftrace.h>
52+#include <linux/security.h>
5253 #include <linux/slow-work.h>
5354 #include <linux/perf_counter.h>
5455
@@ -1306,10 +1307,10 @@ static struct ctl_table vm_table[] = { · 1251 unmodified lines
13061307 {
13071308 .ctl_name = CTL_UNNUMBERED,
13081309 .procname = "mmap_min_addr",
1309− .data = &mmap_min_addr,
1310− .maxlen = sizeof(unsigned long),
1310+ .data = &dac_mmap_min_addr,
1311+ .maxlen = sizeof(unsigned long),
13111312 .mode = 0644,
1312− .proc_handler = &proc_doulongvec_minmax,
1313+ .proc_handler = &mmap_min_addr_handler,
13131314 },
13141315 #ifdef CONFIG_NUMA
13151316 {