summaryrefslogtreecommitdiffstats
path: root/twrp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'twrp.cpp')
-rw-r--r--twrp.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/twrp.cpp b/twrp.cpp
index 765cad342..56ffedb90 100644
--- a/twrp.cpp
+++ b/twrp.cpp
@@ -104,10 +104,18 @@ int main(int argc, char **argv) {
gui_loadResources();
#ifdef HAVE_SELINUX
+ if (TWFunc::Path_Exists("/prebuilt_file_contexts")) {
+ if (TWFunc::Path_Exists("/file_contexts")) {
+ printf("Renaming regular /file_contexts -> /file_contexts.bak\n");
+ rename("/file_contexts", "/file_contexts.bak");
+ }
+ printf("Moving /prebuilt_file_contexts -> /file_contexts\n");
+ rename("/prebuilt_file_contexts", "/file_contexts");
+ }
struct selinux_opt selinux_options[] = {
{ SELABEL_OPT_PATH, "/file_contexts" }
};
- selinux_handle = selabel_open(SELABEL_CTX_FILE, selinux_options, 1);
+ selinux_handle = selabel_open(SELABEL_CTX_FILE, selinux_options, 1);
if (!selinux_handle)
printf("No file contexts for SELinux\n");
else