diff --git a/logd/main.cpp b/logd/main.cpp index 9b889838d..a3241d059 100644 --- a/logd/main.cpp +++ b/logd/main.cpp @@ -103,6 +103,10 @@ static int drop_privs() { return -1; } + if (setgroups(0, NULL) == -1) { + return -1; + } + if (setgid(AID_LOGD) != 0) { return -1; } diff --git a/rootdir/init.rc b/rootdir/init.rc index 7999fc86d..527fc1969 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -147,9 +147,9 @@ on init chown system system /dev/cpuset/tasks chown system system /dev/cpuset/foreground/tasks chown system system /dev/cpuset/background/tasks - chmod 0644 /dev/cpuset/foreground/tasks - chmod 0644 /dev/cpuset/background/tasks - chmod 0644 /dev/cpuset/tasks + chmod 0664 /dev/cpuset/foreground/tasks + chmod 0664 /dev/cpuset/background/tasks + chmod 0664 /dev/cpuset/tasks # qtaguid will limit access to specific data based on group memberships. @@ -534,6 +534,7 @@ service logd /system/bin/logd socket logd stream 0666 logd logd socket logdr seqpacket 0666 logd logd socket logdw dgram 0222 logd logd + group root system service logd-reinit /system/bin/logd --reinit oneshot