summaryrefslogtreecommitdiffstats
path: root/rootdir
diff options
context:
space:
mode:
authorLuis Hector Chavez <lhchavez@google.com>2018-02-14 08:36:16 -0800
committerLuis Hector Chavez <lhchavez@google.com>2018-02-14 20:51:06 +0000
commit30780a73053d968460cbe9595f8024de07460c4e (patch)
tree2dbaf6a103e9fd52750da803b371661eac34c643 /rootdir
parent7c6b0242415b3cfdb5d38fecbdfdcdedea2913b0 (diff)
downloadsystem_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.rc5
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