From 65d36b49508a53e56bae9609ff00fdc3de340608 Mon Sep 17 00:00:00 2001 From: rkolchmeyer Date: Fri, 5 Jan 2018 10:28:23 -0800 Subject: [PATCH] core: Fix edge case when processing /proc/self/mountinfo (#7811) 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. Fixes: #7798 --- 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 b25bb9c..9367869 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -1486,7 +1486,7 @@ static int mount_setup_existing_unit( flags->just_changed = r1 > 0 || r2 > 0 || r3 > 0; flags->is_mounted = true; - flags->just_mounted = !MOUNT(u)->from_proc_self_mountinfo; + flags->just_mounted = !MOUNT(u)->from_proc_self_mountinfo || MOUNT(u)->just_mounted; MOUNT(u)->from_proc_self_mountinfo = true; -- 2.7.4