diff options
author | Luis Hector Chavez <lhchavez@google.com> | 2018-02-14 08:36:16 -0800 |
---|---|---|
committer | Luis Hector Chavez <lhchavez@google.com> | 2018-02-14 20:51:06 +0000 |
commit | 30780a73053d968460cbe9595f8024de07460c4e (patch) | |
tree | 2dbaf6a103e9fd52750da803b371661eac34c643 /rootdir | |
parent | 7c6b0242415b3cfdb5d38fecbdfdcdedea2913b0 (diff) | |
download | system_core-30780a73053d968460cbe9595f8024de07460c4e.tar.gz system_core-30780a73053d968460cbe9595f8024de07460c4e.tar.bz2 system_core-30780a73053d968460cbe9595f8024de07460c4e.zip |
init.rc: Remount / with MS_REMOUNT|MS_BIND
Since we only want to change the ro flag on / (and leave all other mount
flags alone), this can also be achieved by passing MS_REMOUNT|MS_BIND,
even if the mount is not a bind-mount.
This aims to make running Android within a user namespace easier, since
remounts without the MS_BIND flag are forbidden.
Bug: 73255020
Test: aosp_sailfish still boots
Test: rootfs on / type rootfs (rw,seclabel)
/dev/root on / type ext4 (ro,seclabel,relatime,data=ordered)
Change-Id: I2f89a8badfc467db47304c9355648e8fd8ad1272
Diffstat (limited to 'rootdir')
-rw-r--r-- | rootdir/init.rc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/rootdir/init.rc b/rootdir/init.rc index f008c1748..da3f82454 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -318,8 +318,9 @@ on post-fs start hwservicemanager start vndservicemanager - # once everything is setup, no need to modify / - mount rootfs rootfs / ro remount + # Once everything is setup, no need to modify /. + # The bind+ro combination avoids modifying any other mount flags. + mount rootfs rootfs / remount bind ro # Mount shared so changes propagate into child namespaces mount rootfs rootfs / shared rec # Mount default storage into root namespace |