summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeremy Condra <gcondra@google.com>2013-04-04 23:38:13 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-04-04 23:38:14 +0000
commita3d3e137f473a965fefced9670e3b0c6b5f7f791 (patch)
treee7901b07003694b8cf4c477a0f7a335b1a87a07c
parent906bd0422a99b37663a1cb130bf061fdbb3ea189 (diff)
parent957983787d7a753d34b582ae0165160f4ebf815c (diff)
downloadnative-tools_r22.tar.gz
Merge "dumpstate: Add SELinux restorecon call."tools_r22
-rw-r--r--cmds/dumpstate/Android.mk2
-rw-r--r--cmds/dumpstate/utils.c5
2 files changed, 6 insertions, 1 deletions
diff --git a/cmds/dumpstate/Android.mk b/cmds/dumpstate/Android.mk
index 18685f7250..86409833fe 100644
--- a/cmds/dumpstate/Android.mk
+++ b/cmds/dumpstate/Android.mk
@@ -9,7 +9,7 @@ LOCAL_SRC_FILES := dumpstate.c utils.c
LOCAL_MODULE := dumpstate
-LOCAL_SHARED_LIBRARIES := libcutils
+LOCAL_SHARED_LIBRARIES := libcutils libselinux
ifdef BOARD_LIB_DUMPSTATE
LOCAL_STATIC_LIBRARIES := $(BOARD_LIB_DUMPSTATE)
diff --git a/cmds/dumpstate/utils.c b/cmds/dumpstate/utils.c
index eaef3d4747..5b8ed49e63 100644
--- a/cmds/dumpstate/utils.c
+++ b/cmds/dumpstate/utils.c
@@ -38,6 +38,8 @@
#include <cutils/sockets.h>
#include <private/android_filesystem_config.h>
+#include <selinux/android.h>
+
#include "dumpstate.h"
/* list of native processes to include in the native dumps */
@@ -402,6 +404,9 @@ const char *dump_traces() {
if (!mkdir(anr_traces_dir, 0775)) {
chown(anr_traces_dir, AID_SYSTEM, AID_SYSTEM);
chmod(anr_traces_dir, 0775);
+ if (selinux_android_restorecon(anr_traces_dir) == -1) {
+ fprintf(stderr, "restorecon failed for %s: %s\n", anr_traces_dir, strerror(errno));
+ }
} else if (errno != EEXIST) {
fprintf(stderr, "mkdir(%s): %s\n", anr_traces_dir, strerror(errno));
return NULL;