Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 98df1b8e authored by Jeff Vander Stoep's avatar Jeff Vander Stoep Committed by Jeffrey Vander Stoep
Browse files

Check for /dev/memcg/system/tasks before writing to it

Fixes the following errors in the logs on devices without /dev/memcg
mounted:

09-08 10:07:22.991   732   732 E Zygote  : couldn't write 1124 to
/dev/memcg/system/tasks
09-08 10:07:22.986   732   732 W main    : type=1400 audit(0.0:8):
avc: denied { create } for name="tasks" scontext=u:r:zygote:s0
tcontext=u:object_r:cgroup:s0 tclass=file permissive=0

Bug: 67860826
Test: boot Taimen, no more error/denial in the logs.
Change-Id: I37f481fa4e9e9116688cca4f090aa26f96f602c9
Merged-In: I37f481fa4e9e9116688cca4f090aa26f96f602c9
(cherry picked from commit 6bdc3a28)
parent 86e94acf
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -908,7 +908,10 @@ static jint com_android_internal_os_Zygote_nativeForkSystemServer(
      }

      // Assign system_server to the correct memory cgroup.
      if (!WriteStringToFile(StringPrintf("%d", pid), "/dev/memcg/system/tasks")) {
      // Not all devices mount /dev/memcg so check for the file first
      // to avoid unnecessarily printing errors and denials in the logs.
      if (!access("/dev/memcg/system/tasks", F_OK) &&
                !WriteStringToFile(StringPrintf("%d", pid), "/dev/memcg/system/tasks")) {
        ALOGE("couldn't write %d to /dev/memcg/system/tasks", pid);
      }
  }