diff options
author | Yifan Hong <elsk@google.com> | 2019-02-07 16:25:57 -0800 |
---|---|---|
committer | Yifan Hong <elsk@google.com> | 2019-02-07 16:26:10 -0800 |
commit | db8846eb28e75506df86a691e77f345e38f967ca (patch) | |
tree | 2c2b1e3a8037fe95facd6ea97f07013cc94f3c00 /init/builtins.cpp | |
parent | ebb058b12f4ad802197204b403e041c8dfcf811a (diff) | |
parent | bbde9c45270a133206ad76eb747576844bba9e2b (diff) |
Merge QP1A.190205.002
Conflicts:
libprocessgroup/sched_policy.cpp
Bug: 124069173
Change-Id: I0409464e297a67f5d615e50f928ff52da3bb7f31
Diffstat (limited to 'init/builtins.cpp')
-rw-r--r-- | init/builtins.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/init/builtins.cpp b/init/builtins.cpp index 882666253..cdea7c030 100644 --- a/init/builtins.cpp +++ b/init/builtins.cpp @@ -63,6 +63,7 @@ #include "action_manager.h" #include "bootchart.h" #include "init.h" +#include "mount_namespace.h" #include "parser.h" #include "property_service.h" #include "reboot.h" @@ -75,6 +76,8 @@ using namespace std::literals::string_literals; using android::base::unique_fd; +using android::fs_mgr::Fstab; +using android::fs_mgr::ReadFstabFromFile; #define chmod DO_NOT_USE_CHMOD_USE_FCHMODAT_SYMLINK_NOFOLLOW @@ -1105,6 +1108,14 @@ static Result<Success> do_parse_apex_configs(const BuiltinArguments& args) { } } +static Result<Success> do_setup_runtime_bionic(const BuiltinArguments& args) { + if (SwitchToDefaultMountNamespace()) { + return Success(); + } else { + return Error() << "Failed to setup runtime bionic"; + } +} + // Builtin-function-map start const BuiltinFunctionMap::Map& BuiltinFunctionMap::map() const { constexpr std::size_t kMax = std::numeric_limits<std::size_t>::max(); @@ -1152,6 +1163,7 @@ const BuiltinFunctionMap::Map& BuiltinFunctionMap::map() const { {"rmdir", {1, 1, {true, do_rmdir}}}, {"setprop", {2, 2, {true, do_setprop}}}, {"setrlimit", {3, 3, {false, do_setrlimit}}}, + {"setup_runtime_bionic", {0, 0, {false, do_setup_runtime_bionic}}}, {"start", {1, 1, {false, do_start}}}, {"stop", {1, 1, {false, do_stop}}}, {"swapon_all", {1, 1, {false, do_swapon_all}}}, |