allow coredump functionality

(cherrypick of commit d7e004ebf949ae21b299a49cff9917f6560200a3)

Change-Id: I7993698ac96f21db0039681275280dbd43ff61ba
diff --git a/domain.te b/domain.te
index 3851506..5ed79c1 100644
--- a/domain.te
+++ b/domain.te
@@ -59,6 +59,10 @@
 
   # allow "gdbserver --attach" to work for su.
   allow domain su:process sigchld;
+
+  # Allow writing coredumps to /cores/*
+  allow domain coredump_file:file create_file_perms;
+  allow domain coredump_file:dir ra_dir_perms;
 ')
 
 ###
diff --git a/file.te b/file.te
index 5c91cf0..9b7564f 100644
--- a/file.te
+++ b/file.te
@@ -45,6 +45,8 @@
 type system_file, file_type;
 # Type for /system/bin/logcat.
 type logcat_exec, exec_type, file_type;
+# /cores for coredumps on userdebug / eng builds
+type coredump_file, file_type;
 # Default type for anything under /data.
 type system_data_file, file_type, data_file_type;
 # /data/.layout_version or other installd-created files that
diff --git a/file_contexts b/file_contexts
index 1d81cbf..038c8b6 100644
--- a/file_contexts
+++ b/file_contexts
@@ -223,6 +223,9 @@
 /data/misc/wifi/hostapd(/.*)?   u:object_r:wpa_socket:s0
 /data/misc/zoneinfo(/.*)?       u:object_r:zoneinfo_data_file:s0
 
+# coredump directory for userdebug/eng devices
+/cores(/.*)?                    u:object_r:coredump_file:s0
+
 # Wallpaper file for other users
 /data/system/users/[0-9]+/wallpaper		u:object_r:wallpaper_file:s0
 #############################