summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '4.8.9/4427_force_XATTR_PAX_tmpfs.patch')
-rw-r--r--4.8.9/4427_force_XATTR_PAX_tmpfs.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/4.8.9/4427_force_XATTR_PAX_tmpfs.patch b/4.8.9/4427_force_XATTR_PAX_tmpfs.patch
new file mode 100644
index 0000000..2562d2f
--- /dev/null
+++ b/4.8.9/4427_force_XATTR_PAX_tmpfs.patch
@@ -0,0 +1,48 @@
+From: Anthony G. Basile <blueness@gentoo.org>
+
+For users that emerge without XATTR_PAX support enabled, we still want user.pax.flags
+namespace supported on tmpfs so that the PaX markings survive emerge.
+
+diff -Naur a/mm/shmem.c b/mm/shmem.c
+--- a/mm/shmem.c 2016-04-29 19:56:25.306101147 -0400
++++ b/mm/shmem.c 2016-04-29 19:59:44.126104490 -0400
+@@ -3255,7 +3255,6 @@
+ return simple_xattr_set(&info->xattrs, name, value, size, flags);
+ }
+
+-#ifdef CONFIG_PAX_XATTR_PAX_FLAGS
+ static int shmem_user_xattr_handler_set(const struct xattr_handler *handler,
+ struct dentry *dentry, struct inode *inode,
+ const char *name, const void *value,
+@@ -3271,7 +3270,6 @@
+ name = xattr_full_name(handler, name);
+ return simple_xattr_set(&info->xattrs, name, value, size, flags);
+ }
+-#endif
+
+ static const struct xattr_handler shmem_security_xattr_handler = {
+ .prefix = XATTR_SECURITY_PREFIX,
+@@ -3285,13 +3283,11 @@
+ .set = shmem_xattr_handler_set,
+ };
+
+-#ifdef CONFIG_PAX_XATTR_PAX_FLAGS
+ static const struct xattr_handler shmem_user_xattr_handler = {
+ .prefix = XATTR_USER_PREFIX,
+ .get = shmem_xattr_handler_get,
+ .set = shmem_user_xattr_handler_set,
+ };
+-#endif
+
+ static const struct xattr_handler *shmem_xattr_handlers[] = {
+ #ifdef CONFIG_TMPFS_POSIX_ACL
+@@ -3301,9 +3297,7 @@
+ &shmem_security_xattr_handler,
+ &shmem_trusted_xattr_handler,
+
+-#ifdef CONFIG_PAX_XATTR_PAX_FLAGS
+ &shmem_user_xattr_handler,
+-#endif
+
+ NULL
+ };