summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-apps/util-linux/files/util-linux-2.36.1-libmount_dont_use_symfollow.patch40
-rw-r--r--sys-apps/util-linux/util-linux-2.36.1-r1.ebuild (renamed from sys-apps/util-linux/util-linux-2.36.1.ebuild)4
2 files changed, 44 insertions, 0 deletions
diff --git a/sys-apps/util-linux/files/util-linux-2.36.1-libmount_dont_use_symfollow.patch b/sys-apps/util-linux/files/util-linux-2.36.1-libmount_dont_use_symfollow.patch
new file mode 100644
index 000000000000..7c0b73f49d78
--- /dev/null
+++ b/sys-apps/util-linux/files/util-linux-2.36.1-libmount_dont_use_symfollow.patch
@@ -0,0 +1,40 @@
+From 76bb9b30cfcf54b59591a57a3d2a747e514469b2 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Thu, 19 Nov 2020 09:49:16 +0100
+Subject: [PATCH] libmount: don't use "symfollow" for helpers on user mounts
+
+Addresses: https://github.com/karelzak/util-linux/issues/1193
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ libmount/src/context_mount.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c
+index 8c394c1ff..dd1786176 100644
+--- a/libmount/src/context_mount.c
++++ b/libmount/src/context_mount.c
+@@ -415,6 +415,9 @@ static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr)
+ * string, because there is nothing like MS_EXEC (we only have
+ * MS_NOEXEC in mount flags and we don't care about the original
+ * mount string in libmount for VFS options).
++ *
++ * This use-case makes sense for MS_SECURE flags only (see
++ * mnt_optstr_get_flags() and mnt_context_merge_mflags()).
+ */
+ if (!(cxt->mountflags & MS_NOEXEC))
+ mnt_optstr_append_option(optstr, "exec", NULL);
+@@ -422,11 +425,8 @@ static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr)
+ mnt_optstr_append_option(optstr, "suid", NULL);
+ if (!(cxt->mountflags & MS_NODEV))
+ mnt_optstr_append_option(optstr, "dev", NULL);
+- if (!(cxt->mountflags & MS_NOSYMFOLLOW))
+- mnt_optstr_append_option(optstr, "symfollow", NULL);
+ }
+
+-
+ if (cxt->flags & MNT_FL_SAVED_USER)
+ rc = mnt_optstr_set_option(optstr, "user", cxt->orig_user);
+ if (rc)
+--
+2.29.2
+
diff --git a/sys-apps/util-linux/util-linux-2.36.1.ebuild b/sys-apps/util-linux/util-linux-2.36.1-r1.ebuild
index 902e36ad068a..f7acbfdb1510 100644
--- a/sys-apps/util-linux/util-linux-2.36.1.ebuild
+++ b/sys-apps/util-linux/util-linux-2.36.1-r1.ebuild
@@ -75,6 +75,10 @@ RESTRICT="!test? ( test )"
S="${WORKDIR}/${MY_P}"
+PATCHES=(
+ "${FILESDIR}/${P}-libmount_dont_use_symfollow.patch" #755878
+)
+
src_prepare() {
default