Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 58d3980f authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Keep /mnt/secure private to default namespace.

When vold mounts things in /mnt/secure/staging, it expects to MS_MOVE
those mountpoints when vetting is finished.  However, the kernel
doesn't allow MS_MOVE when the source is shared to child namespaces.

To work around this, create a tmpfs at /mnt/secure and mark it as
private (not shared).  Verified that vold can now successfully move
from the staging area.

Bug: 7094858
Change-Id: I5e05b1005c63efa277935c9bbd18cbf3ffdd47a3
parent d6d4286a
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -63,6 +63,8 @@ loglevel 3

    # Directory for putting things only root should see.
    mkdir /mnt/secure 0700 root root
    # Create private mountpoint so we can MS_MOVE from staging
    mount tmpfs tmpfs /mnt/secure mode=0700,uid=0,gid=0

    # Directory for staging bindmounts
    mkdir /mnt/secure/staging 0700 root root
@@ -135,6 +137,7 @@ on post-fs
    mount rootfs rootfs / ro remount
    # mount shared so changes propagate into child namespaces
    mount rootfs rootfs / shared rec
    mount tmpfs tmpfs /mnt/secure private rec

    # We chown/chmod /cache again so because mount is run as root + defaults
    chown system cache /cache