Merge "init: Put init in group AID_READPROC"
am: 995560919c
Change-Id: Id2271f8200b020fe5ccaa82e3ea4b68368a6adf1
diff --git a/init/init.cpp b/init/init.cpp
index 3c121e8..7c37d28 100644
--- a/init/init.cpp
+++ b/init/init.cpp
@@ -585,6 +585,8 @@
mount("devpts", "/dev/pts", "devpts", 0, NULL);
#define MAKE_STR(x) __STRING(x)
mount("proc", "/proc", "proc", 0, "hidepid=2,gid=" MAKE_STR(AID_READPROC));
+ gid_t groups[] = { AID_READPROC };
+ setgroups(arraysize(groups), groups);
mount("sysfs", "/sys", "sysfs", 0, NULL);
mount("selinuxfs", "/sys/fs/selinux", "selinuxfs", 0, NULL);
mknod("/dev/kmsg", S_IFCHR | 0600, makedev(1, 11));
diff --git a/init/service.cpp b/init/service.cpp
index 6460e71..92f1615 100644
--- a/init/service.cpp
+++ b/init/service.cpp
@@ -233,10 +233,8 @@
PLOG(FATAL) << "setgid failed for " << name_;
}
}
- if (!supp_gids_.empty()) {
- if (setgroups(supp_gids_.size(), &supp_gids_[0]) != 0) {
- PLOG(FATAL) << "setgroups failed for " << name_;
- }
+ if (setgroups(supp_gids_.size(), &supp_gids_[0]) != 0) {
+ PLOG(FATAL) << "setgroups failed for " << name_;
}
if (uid_) {
if (setuid(uid_) != 0) {