From: rkolchmeyer Date: Fri, 5 Jan 2018 18:28:23 +0000 (-0800) Subject: core: Fix edge case when processing /proc/self/mountinfo (#7811) X-Git-Tag: v237~140 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=65d36b49508a53e56bae9609ff00fdc3de340608;p=platform%2Fupstream%2Fsystemd.git 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 --- 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;