aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2012-08-08 14:06:26 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-08-08 14:06:26 -0700
commit21c2c8493a8b72407690935971179f2c4b5b3d41 (patch)
tree2c499d4bc777b96f4129b0fa25ab9d036c47c89d
parent8268a75e86c086c4618c2f8d8e9531eb8d7b30f5 (diff)
parentb9994d22274d95a2234cbd8be8338d5e0c16a290 (diff)
downloadsystem_core-21c2c8493a8b72407690935971179f2c4b5b3d41.tar.gz
system_core-21c2c8493a8b72407690935971179f2c4b5b3d41.tar.bz2
system_core-21c2c8493a8b72407690935971179f2c4b5b3d41.zip
am b9994d22: am 8261d271: Merge "restorecon tombstone directory."
* commit 'b9994d22274d95a2234cbd8be8338d5e0c16a290': restorecon tombstone directory.
-rw-r--r--debuggerd/Android.mk6
-rw-r--r--debuggerd/tombstone.c11
2 files changed, 17 insertions, 0 deletions
diff --git a/debuggerd/Android.mk b/debuggerd/Android.mk
index 2a516fbe..fe467068 100644
--- a/debuggerd/Android.mk
+++ b/debuggerd/Android.mk
@@ -25,6 +25,12 @@ endif # ARCH_ARM_HAVE_VFP_D32
LOCAL_SHARED_LIBRARIES := libcutils libc libcorkscrew
+ifeq ($(HAVE_SELINUX),true)
+LOCAL_SHARED_LIBRARIES += libselinux
+LOCAL_C_INCLUDES += external/libselinux/include
+LOCAL_CFLAGS += -DHAVE_SELINUX
+endif
+
include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
diff --git a/debuggerd/tombstone.c b/debuggerd/tombstone.c
index 16b49433..27ab3fe9 100644
--- a/debuggerd/tombstone.c
+++ b/debuggerd/tombstone.c
@@ -35,6 +35,10 @@
#include <corkscrew/demangle.h>
#include <corkscrew/backtrace.h>
+#ifdef HAVE_SELINUX
+#include <selinux/android.h>
+#endif
+
#include "machine.h"
#include "tombstone.h"
#include "utility.h"
@@ -680,6 +684,13 @@ char* engrave_tombstone(pid_t pid, pid_t tid, int signal,
mkdir(TOMBSTONE_DIR, 0755);
chown(TOMBSTONE_DIR, AID_SYSTEM, AID_SYSTEM);
+#ifdef HAVE_SELINUX
+ if (selinux_android_restorecon(TOMBSTONE_DIR) == -1) {
+ *detach_failed = false;
+ return NULL;
+ }
+#endif
+
int fd;
char* path = find_and_open_tombstone(&fd);
if (!path) {