Merge "don't restart surfaceflinger when the window manager dies"
diff --git a/include/private/android_filesystem_config.h b/include/private/android_filesystem_config.h
index 6e42ae9..fc71a1e 100644
--- a/include/private/android_filesystem_config.h
+++ b/include/private/android_filesystem_config.h
@@ -53,7 +53,7 @@
 #define AID_KEYSTORE      1017  /* keystore subsystem */
 #define AID_USB           1018  /* USB devices */
 #define AID_DRM           1019  /* DRM server */
-#define AID_KEYCHAIN      1020  /* keychain service */
+#define AID_AVAILABLE     1020  /* available for use */
 #define AID_GPS           1021  /* GPS daemon */
 #define AID_UNUSED1       1022  /* deprecated, DO NOT USE */
 #define AID_MEDIA_RW      1023  /* internal media storage write access */
@@ -103,7 +103,7 @@
     { "install",   AID_INSTALL, },
     { "media",     AID_MEDIA, },
     { "drm",       AID_DRM, },
-    { "keychain",  AID_KEYCHAIN, },
+    { "available", AID_AVAILABLE, },
     { "nfc",       AID_NFC, },
     { "shell",     AID_SHELL, },
     { "cache",     AID_CACHE, },
diff --git a/include/system/window.h b/include/system/window.h
index 5762a50..eef567d 100644
--- a/include/system/window.h
+++ b/include/system/window.h
@@ -441,8 +441,10 @@
  * All buffers queued after this call will be associated with the timestamp
  * parameter specified. If the timestamp is set to NATIVE_WINDOW_TIMESTAMP_AUTO
  * (the default), timestamps will be generated automatically when queueBuffer is
- * called. The timestamp is measured in nanoseconds, and must be monotonically
- * increasing.
+ * called. The timestamp is measured in nanoseconds, and is normally monotonically
+ * increasing. The timestamp should be unaffected by time-of-day adjustments,
+ * and for a camera should be strictly monotonic but for a media player may be
+ * reset when the position is set.
  */
 static inline int native_window_set_buffers_timestamp(
         struct ANativeWindow* window,
diff --git a/libnl_2/attr.c b/libnl_2/attr.c
index 11e8ae5..9467668 100644
--- a/libnl_2/attr.c
+++ b/libnl_2/attr.c
@@ -154,10 +154,12 @@
 
 	/* Reserve space and init nla header */
 	nla = nla_reserve(msg, attrtype, datalen);
-	if (nla)
+	if (nla) {
 		memcpy(nla_data(nla), data, datalen);
+		return 0;
+	}
 
-	return -errno;
+	return -EINVAL;
 
 }
 
diff --git a/rootdir/init.rc b/rootdir/init.rc
index de567b6..d7b44f9 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -150,7 +150,7 @@
     mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
     mkdir /data/misc/bluetooth 0770 system system
     mkdir /data/misc/keystore 0700 keystore keystore
-    mkdir /data/misc/keychain 0771 keychain keychain
+    mkdir /data/misc/keychain 0771 system system
     mkdir /data/misc/vpn 0770 system system
     mkdir /data/misc/systemkeys 0700 system system
     mkdir /data/misc/vpn/profiles 0770 system system