summaryrefslogtreecommitdiffstats
path: root/0001-mount-on-tmpfs-failing-to-parse-context-option.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-mount-on-tmpfs-failing-to-parse-context-option.patch')
-rw-r--r--0001-mount-on-tmpfs-failing-to-parse-context-option.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/0001-mount-on-tmpfs-failing-to-parse-context-option.patch b/0001-mount-on-tmpfs-failing-to-parse-context-option.patch
new file mode 100644
index 000000000..7df9f01f5
--- /dev/null
+++ b/0001-mount-on-tmpfs-failing-to-parse-context-option.patch
@@ -0,0 +1,45 @@
+From db379c4b35d376201113a798aacb7e01a6f63375 Mon Sep 17 00:00:00 2001
+From: Al Viro <viro@zeniv.linux.org.uk>
+Date: Tue, 8 Oct 2019 02:26:22 +0100
+Subject: [PATCH] mount on tmpfs failing to parse context option
+
+On Mon, Oct 07, 2019 at 05:50:31PM -0700, Hugh Dickins wrote:
+
+[sorry for being MIA - had been sick through the last week, just digging
+myself from under piles of mail; my apologies]
+
+> (tmpfs, very tiresomely, supports a NUMA "mpol" mount option which can
+> have commas in it e.g "mpol=bind:0,2": which makes all its comma parsing
+> awkward. I assume that where the new mount API commits bend over to
+> accommodate that peculiarity, they end up mishandling the comma in
+> the context string above.)
+
+ Dumber than that, I'm afraid. mpol is the reason for having
+->parse_monolithic() in the first place, all right, but the problem is
+simply the lack of security_sb_eat_lsm_opts() call in it.
+
+ Could you check if the following fixes that one?
+---
+ mm/shmem.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/mm/shmem.c b/mm/shmem.c
+index cd570cc79c76..220be9fa2c41 100644
+--- a/mm/shmem.c
++++ b/mm/shmem.c
+@@ -3482,6 +3482,12 @@ static int shmem_parse_options(struct fs_context *fc, void *data)
+ {
+ char *options = data;
+
++ if (options) {
++ int err = security_sb_eat_lsm_opts(options, &fc->security);
++ if (err)
++ return err;
++ }
++
+ while (options != NULL) {
+ char *this_char = options;
+ for (;;) {
+--
+2.21.0
+