diff options
Diffstat (limited to 'freed-ora/tags/f24-devel/4.3.0-1.fc24.gnu/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch')
-rw-r--r-- | freed-ora/tags/f24-devel/4.3.0-1.fc24.gnu/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/freed-ora/tags/f24-devel/4.3.0-1.fc24.gnu/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch b/freed-ora/tags/f24-devel/4.3.0-1.fc24.gnu/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch new file mode 100644 index 000000000..acf28cf88 --- /dev/null +++ b/freed-ora/tags/f24-devel/4.3.0-1.fc24.gnu/Restrict-dev-mem-and-dev-kmem-when-module-loading-is.patch @@ -0,0 +1,42 @@ +From d4ae417828427de74e9f857f9caa49580aecf1fe Mon Sep 17 00:00:00 2001 +From: Matthew Garrett <matthew.garrett@nebula.com> +Date: Fri, 9 Mar 2012 09:28:15 -0500 +Subject: [PATCH 06/20] Restrict /dev/mem and /dev/kmem when module loading is + restricted + +Allowing users to write to address space makes it possible for the kernel +to be subverted, avoiding module loading restrictions. Prevent this when +any restrictions have been imposed on loading modules. + +Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com> +--- + drivers/char/mem.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/drivers/char/mem.c b/drivers/char/mem.c +index 53fe675f9bd7..b52c88860532 100644 +--- a/drivers/char/mem.c ++++ b/drivers/char/mem.c +@@ -167,6 +167,9 @@ static ssize_t write_mem(struct file *file, const char __user *buf, + if (p != *ppos) + return -EFBIG; + ++ if (secure_modules()) ++ return -EPERM; ++ + if (!valid_phys_addr_range(p, count)) + return -EFAULT; + +@@ -513,6 +516,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf, + char *kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */ + int err = 0; + ++ if (secure_modules()) ++ return -EPERM; ++ + if (p < (unsigned long) high_memory) { + unsigned long to_write = min_t(unsigned long, count, + (unsigned long)high_memory - p); +-- +2.4.3 + |