summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2013-03-05 17:31:38 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-03-05 17:31:38 +0000
commit515bed0e6aae4a835ab4393499c7dd99941a8423 (patch)
tree2fb338e442fd613f5fa62fd6063bb37a49e5f1ae
parent3fb63338e9faddeb50a582cfec114bd48f93f1c2 (diff)
parent4ead8beac8fe59b01ad1e5670713b99e7f841b9b (diff)
downloadsystem_core-515bed0e6aae4a835ab4393499c7dd99941a8423.zip
system_core-515bed0e6aae4a835ab4393499c7dd99941a8423.tar.gz
system_core-515bed0e6aae4a835ab4393499c7dd99941a8423.tar.bz2
Merge "run-as: set the SELinux security context."
-rw-r--r--run-as/Android.mk2
-rw-r--r--run-as/run-as.c6
2 files changed, 8 insertions, 0 deletions
diff --git a/run-as/Android.mk b/run-as/Android.mk
index 043cc3a..a8f2885 100644
--- a/run-as/Android.mk
+++ b/run-as/Android.mk
@@ -3,6 +3,8 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES:= run-as.c package.c
+LOCAL_SHARED_LIBRARIES := libselinux
+
LOCAL_MODULE:= run-as
include $(BUILD_EXECUTABLE)
diff --git a/run-as/run-as.c b/run-as/run-as.c
index 20e1530..9eb09ae 100644
--- a/run-as/run-as.c
+++ b/run-as/run-as.c
@@ -29,6 +29,7 @@
#include <time.h>
#include <stdarg.h>
+#include <selinux/android.h>
#include <private/android_filesystem_config.h>
#include "package.h"
@@ -162,6 +163,11 @@ int main(int argc, char **argv)
return 1;
}
+ if (selinux_android_setcontext(uid, 0, NULL, pkgname) < 0) {
+ panic("Could not set SELinux security context: %s\n", strerror(errno));
+ return 1;
+ }
+
/* User specified command for exec. */
if (argc >= 3 ) {
if (execvp(argv[2], argv+2) < 0) {