summaryrefslogtreecommitdiff
path: root/2.6.32
diff options
context:
space:
mode:
Diffstat (limited to '2.6.32')
-rw-r--r--2.6.32/0000_README2
-rw-r--r--2.6.32/4420_grsecurity-2.2.1-2.6.32.28-201101131705.patch (renamed from 2.6.32/4420_grsecurity-2.2.1-2.6.32.28-201101120010.patch)13
2 files changed, 9 insertions, 6 deletions
diff --git a/2.6.32/0000_README b/2.6.32/0000_README
index 18950d4..2b55d09 100644
--- a/2.6.32/0000_README
+++ b/2.6.32/0000_README
@@ -3,7 +3,7 @@ README
Individual Patch Descriptions:
-----------------------------------------------------------------------------
-Patch: 4420_grsecurity-2.2.1-2.6.32.28-201101120010.patch
+Patch: 4420_grsecurity-2.2.1-2.6.32.28-201101131705.patch
From: http://www.grsecurity.net
Desc: hardened-sources base patch from upstream grsecurity
diff --git a/2.6.32/4420_grsecurity-2.2.1-2.6.32.28-201101120010.patch b/2.6.32/4420_grsecurity-2.2.1-2.6.32.28-201101131705.patch
index 4ddfa14..784ca5b 100644
--- a/2.6.32/4420_grsecurity-2.2.1-2.6.32.28-201101120010.patch
+++ b/2.6.32/4420_grsecurity-2.2.1-2.6.32.28-201101131705.patch
@@ -36492,8 +36492,8 @@ diff -urNp linux-2.6.32.28/grsecurity/gracl_alloc.c linux-2.6.32.28/grsecurity/g
+}
diff -urNp linux-2.6.32.28/grsecurity/gracl.c linux-2.6.32.28/grsecurity/gracl.c
--- linux-2.6.32.28/grsecurity/gracl.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux-2.6.32.28/grsecurity/gracl.c 2011-01-11 22:40:41.000000000 -0500
-@@ -0,0 +1,3983 @@
++++ linux-2.6.32.28/grsecurity/gracl.c 2011-01-13 16:57:58.000000000 -0500
+@@ -0,0 +1,3986 @@
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/sched.h>
@@ -36644,6 +36644,8 @@ diff -urNp linux-2.6.32.28/grsecurity/gracl.c linux-2.6.32.28/grsecurity/gracl.c
+ return !memcmp(a, b, lena);
+}
+
++/* this must be called with vfsmount_lock and dcache_lock held */
++
+static char * __our_d_path(struct dentry *dentry, struct vfsmount *vfsmnt,
+ struct dentry *root, struct vfsmount *rootmnt,
+ char *buffer, int buflen)
@@ -36655,8 +36657,6 @@ diff -urNp linux-2.6.32.28/grsecurity/gracl.c linux-2.6.32.28/grsecurity/gracl.c
+ *--end = '\0';
+ buflen--;
+
-+ spin_lock(&vfsmount_lock);
-+
+ if (buflen < 1)
+ goto Elong;
+ /* Get '/' right */
@@ -36690,7 +36690,6 @@ diff -urNp linux-2.6.32.28/grsecurity/gracl.c linux-2.6.32.28/grsecurity/gracl.c
+ }
+
+out:
-+ spin_unlock(&vfsmount_lock);
+ return retval;
+
+global_root:
@@ -36750,7 +36749,9 @@ diff -urNp linux-2.6.32.28/grsecurity/gracl.c linux-2.6.32.28/grsecurity/gracl.c
+ read_unlock(&reaper->fs->lock);
+
+ spin_lock(&dcache_lock);
++ spin_lock(&vfsmount_lock);
+ res = gen_full_path((struct dentry *)dentry, (struct vfsmount *)vfsmnt, root, rootmnt, buf, buflen);
++ spin_unlock(&vfsmount_lock);
+ spin_unlock(&dcache_lock);
+
+ dput(root);
@@ -36763,8 +36764,10 @@ diff -urNp linux-2.6.32.28/grsecurity/gracl.c linux-2.6.32.28/grsecurity/gracl.c
+{
+ char *ret;
+ spin_lock(&dcache_lock);
++ spin_lock(&vfsmount_lock);
+ ret = __d_real_path(dentry, mnt, per_cpu_ptr(gr_shared_page[0],smp_processor_id()),
+ PAGE_SIZE);
++ spin_unlock(&vfsmount_lock);
+ spin_unlock(&dcache_lock);
+ return ret;
+}