summaryrefslogtreecommitdiff
path: root/init/builtins.cpp
diff options
context:
space:
mode:
authorTom Cherry <tomcherry@google.com>2019-08-28 15:01:34 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-08-28 15:01:34 +0000
commit34f25373933d7c092cf713bc60b48a381fdfe0bc (patch)
tree8fb3cf3d17911d78286d50cc2f9294887016f36b /init/builtins.cpp
parent15c87604035f0fbefb1f0f634ad8c9dd1ee93263 (diff)
parent8efca4bbb378ff5bd3af06d8511ea75a7ed49f99 (diff)
Merge "Reland: "init: run property service in a thread""
Diffstat (limited to 'init/builtins.cpp')
-rw-r--r--init/builtins.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/init/builtins.cpp b/init/builtins.cpp
index 7c66de5f8..8c4d9898d 100644
--- a/init/builtins.cpp
+++ b/init/builtins.cpp
@@ -80,6 +80,7 @@
using namespace std::literals::string_literals;
using android::base::Basename;
+using android::base::StartsWith;
using android::base::unique_fd;
using android::fs_mgr::Fstab;
using android::fs_mgr::ReadFstabFromFile;
@@ -700,6 +701,15 @@ static Result<void> do_swapon_all(const BuiltinArguments& args) {
}
static Result<void> do_setprop(const BuiltinArguments& args) {
+ if (StartsWith(args[1], "ctl.")) {
+ return Error() << "InitPropertySet: Do not set ctl. properties from init; call the Service "
+ "functions directly";
+ }
+ if (args[1] == kRestoreconProperty) {
+ return Error() << "InitPropertySet: Do not set '" << kRestoreconProperty
+ << "' from init; use the restorecon builtin directly";
+ }
+
property_set(args[1], args[2]);
return {};
}