You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.4 KiB
34 lines
1.4 KiB
From 1c9add7cc78fc65b043f9e87ab63bb2158d2ddf0 Mon Sep 17 00:00:00 2001 |
|
From: Kyle Walker <kwalker@redhat.com> |
|
Date: Thu, 21 Mar 2019 15:09:06 -0400 |
|
Subject: [PATCH] core: Fix edge case when processing /proc/self/mountinfo |
|
|
|
Currently, if there are two /proc/self/mountinfo entries with the same |
|
mount point path, the mount setup flags computed for the second of |
|
these two entries will overwrite the mount setup flags computed for |
|
the first of these two entries. This is the root cause of issue #7798. |
|
This patch changes mount_setup_existing_unit to prevent the |
|
just_mounted mount setup flag from being overwritten if it is set to |
|
true. This will allow all mount units created from /proc/self/mountinfo |
|
entries to be initialized properly. |
|
|
|
(cherry picked from commit 65d36b49508a53e56bae9609ff00fdc3de340608) |
|
|
|
Resolves: #1691511 |
|
--- |
|
src/core/mount.c | 2 +- |
|
1 file changed, 1 insertion(+), 1 deletion(-) |
|
|
|
diff --git a/src/core/mount.c b/src/core/mount.c |
|
index 5fd7a86ddd..c7aed2333f 100644 |
|
--- a/src/core/mount.c |
|
+++ b/src/core/mount.c |
|
@@ -1527,7 +1527,7 @@ static int mount_setup_unit( |
|
|
|
if (set_flags) { |
|
MOUNT(u)->is_mounted = true; |
|
- MOUNT(u)->just_mounted = !MOUNT(u)->from_proc_self_mountinfo; |
|
+ MOUNT(u)->just_mounted = !MOUNT(u)->from_proc_self_mountinfo || MOUNT(u)->just_mounted; |
|
MOUNT(u)->just_changed = changed; |
|
} |
|
|
|
|