Merge "Added netlink failure logging to NetlinkListener.cpp"
diff --git a/init/builtins.c b/init/builtins.c
index adad353..0b9c0cf 100644
--- a/init/builtins.c
+++ b/init/builtins.c
@@ -75,12 +75,23 @@
     }
 }
 
+static int _open(const char *path)
+{
+    int fd;
+
+    fd = open(path, O_RDONLY | O_NOFOLLOW);
+    if (fd < 0)
+        fd = open(path, O_WRONLY | O_NOFOLLOW);
+
+    return fd;
+}
+
 static int _chown(const char *path, unsigned int uid, unsigned int gid)
 {
     int fd;
     int ret;
 
-    fd = open(path, O_RDONLY | O_NOFOLLOW);
+    fd = _open(path);
     if (fd < 0) {
         return -1;
     }
@@ -103,7 +114,7 @@
     int fd;
     int ret;
 
-    fd = open(path, O_RDONLY | O_NOFOLLOW);
+    fd = _open(path);
     if (fd < 0) {
         return -1;
     }
diff --git a/rootdir/ueventd.rc b/rootdir/ueventd.rc
index 438cf0a..07624c4 100644
--- a/rootdir/ueventd.rc
+++ b/rootdir/ueventd.rc
@@ -8,8 +8,9 @@
 /dev/ashmem               0666   root       root
 /dev/binder               0666   root       root
 
-# logger should be world writable (for logging) but not readable
-/dev/log/*                0662   root       log
+# Anyone can read the logs, but if they're not in the "logs"
+# group, then they'll only see log entries for their UID.
+/dev/log/*                0666   root       log
 
 # the msm hw3d client device node is world writable/readable.
 /dev/msm_hw3dc            0666   root       root