[systemd-commits] src/mount-setup.c

Lennart Poettering lennart at kemper.freedesktop.org
Wed Apr 6 14:38:10 PDT 2011


 src/mount-setup.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

New commits:
commit 51b4af2c2833691976844a13464c1301643043d3
Author: Lennart Poettering <lennart at poettering.net>
Date:   Wed Apr 6 23:38:01 2011 +0200

    mount: relabel both before and after a mount, just in case

diff --git a/src/mount-setup.c b/src/mount-setup.c
index a42ed43..9bc8946 100644
--- a/src/mount-setup.c
+++ b/src/mount-setup.c
@@ -97,11 +97,14 @@ static int mount_one(const MountPoint *p) {
 
         assert(p);
 
+        /* Relabel first, just in case */
+        label_fix(p->where, true);
+
         if ((r = path_is_mount_point(p->where)) < 0)
                 return r;
 
         if (r > 0)
-                goto finish;
+                return 0;
 
         /* The access mode here doesn't really matter too much, since
          * the mounted file system will take precedence anyway. */
@@ -122,7 +125,7 @@ static int mount_one(const MountPoint *p) {
                 return p->fatal ? -errno : 0;
         }
 
-finish:
+        /* Relabel again, since we now mounted something fresh here */
         label_fix(p->where, false);
 
         return 0;
@@ -241,7 +244,7 @@ int mount_setup(void) {
 
         /* Nodes in devtmpfs need to be manually updated for the
          * appropriate labels, after mounting. The other virtual API
-         * file systems do not need. */
+         * file systems do not need that. */
 
         if (unlink("/dev/.systemd-relabel-run-dev") >= 0) {
                 nftw("/dev", nftw_cb, 64, FTW_MOUNT|FTW_PHYS);



More information about the systemd-commits mailing list