summaryrefslogtreecommitdiff
path: root/testing/util-linux/fix-remount.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/util-linux/fix-remount.patch')
-rw-r--r--testing/util-linux/fix-remount.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/testing/util-linux/fix-remount.patch b/testing/util-linux/fix-remount.patch
new file mode 100644
index 000000000..67149ab46
--- /dev/null
+++ b/testing/util-linux/fix-remount.patch
@@ -0,0 +1,37 @@
+From 277a6dd53569a409e05316a7bdaed0e78e326762 Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Tue, 13 Sep 2011 22:59:39 +0200
+Subject: [PATCH 2/2] mount: check for target before source on remount
+
+Addresses: http://bugzilla.redhat.com/show_bug.cgi?id=737091
+Reported-by: Eric Paris <eparis@redhat.com>
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ mount/fstab.c | 9 +++++++--
+ 1 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/mount/fstab.c b/mount/fstab.c
+index 8d88f68..77bf81c 100644
+--- a/mount/fstab.c
++++ b/mount/fstab.c
+@@ -272,10 +272,15 @@ getmntfilebackward (const char *name, struct mntentchn *mcprev) {
+ mc0 = mtab_head();
+ if (!mcprev)
+ mcprev = mc0;
++
+ for (mc = mcprev->prev; mc && mc != mc0; mc = mc->prev)
+- if (streq(mc->m.mnt_dir, name) ||
+- streq(mc->m.mnt_fsname, name))
++ if (streq(mc->m.mnt_dir, name))
+ return mc;
++
++ for (mc = mcprev->prev; mc && mc != mc0; mc = mc->prev)
++ if (streq(mc->m.mnt_fsname, name))
++ return mc;
++
+ return NULL;
+ }
+
+--
+1.7.6.1
+