diff options
| author | Jean-Baptiste Queru <jbq@google.com> | 2012-08-08 14:06:26 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2012-08-08 14:06:26 -0700 |
| commit | 21c2c8493a8b72407690935971179f2c4b5b3d41 (patch) | |
| tree | 2c499d4bc777b96f4129b0fa25ab9d036c47c89d | |
| parent | 8268a75e86c086c4618c2f8d8e9531eb8d7b30f5 (diff) | |
| parent | b9994d22274d95a2234cbd8be8338d5e0c16a290 (diff) | |
| download | system_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.mk | 6 | ||||
| -rw-r--r-- | debuggerd/tombstone.c | 11 |
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) { |
