Ensure that /data/anr/traces.txt is world-writable

The umask changed for init. We have to force /data/anr to be world
readble and /data/anr/traces.txt to be world writable so dalvik
processes can write to it.

Hopefully this is a short term change while we investigate tightening
up these permissions.

Bug: 6300296
Change-Id: Iacb4c9f1bc69d2ac679697f9cf9a52694f888489
diff --git a/cmds/dumpstate/utils.c b/cmds/dumpstate/utils.c
index 0d5ab90..25505f8 100644
--- a/cmds/dumpstate/utils.c
+++ b/cmds/dumpstate/utils.c
@@ -375,6 +375,7 @@
         *slash = '\0';
         if (!mkdir(anr_traces_dir, 0775)) {
             chown(anr_traces_dir, AID_SYSTEM, AID_SYSTEM);
+            chmod(anr_traces_dir, 0775);
         } else if (errno != EEXIST) {
             fprintf(stderr, "mkdir(%s): %s\n", anr_traces_dir, strerror(errno));
             return NULL;
@@ -387,6 +388,12 @@
         fprintf(stderr, "%s: %s\n", traces_path, strerror(errno));
         return NULL;
     }
+    int chmod_ret = fchmod(fd, 0666);
+    if (chmod_ret < 0) {
+        fprintf(stderr, "fchmod on %s failed: %s\n", traces_path, strerror(errno));
+        close(fd);
+        return NULL;
+    }
     close(fd);
 
     /* walk /proc and kill -QUIT all Dalvik processes */