diff --git a/native/jni/magiskhide/hide_policy.cpp b/native/jni/magiskhide/hide_policy.cpp index b3983f099..63b0136f6 100644 --- a/native/jni/magiskhide/hide_policy.cpp +++ b/native/jni/magiskhide/hide_policy.cpp @@ -19,18 +19,6 @@ static const char *prop_value[] = "enforcing", "0", "0", "0", "1", "user", "release-keys", "0", nullptr }; -void manage_selinux() { - char val; - int fd = xopen(SELINUX_ENFORCE, O_RDONLY); - xxread(fd, &val, sizeof(val)); - close(fd); - // Permissive - if (val == '0') { - chmod(SELINUX_ENFORCE, 0640); - chmod(SELINUX_POLICY, 0440); - } -} - void hide_sensitive_props() { LOGI("hide_policy: Hiding sensitive props\n"); @@ -42,13 +30,6 @@ void hide_sensitive_props() { } } -static inline void clean_magisk_props() { - getprop([](const char *name, auto, auto) -> void { - if (strstr(name, "magisk")) - deleteprop(name); - }, nullptr, false); -} - static inline void lazy_unmount(const char* mountpoint) { if (umount2(mountpoint, MNT_DETACH) != -1) LOGD("hide_policy: Unmounted (%s)\n", mountpoint); @@ -65,8 +46,21 @@ void hide_daemon(int pid) { return; LOGD("hide_policy: handling PID=[%d]\n", pid); - manage_selinux(); - clean_magisk_props(); + + char val; + int fd = xopen(SELINUX_ENFORCE, O_RDONLY); + xxread(fd, &val, sizeof(val)); + close(fd); + // Permissive + if (val == '0') { + chmod(SELINUX_ENFORCE, 0640); + chmod(SELINUX_POLICY, 0440); + } + + getprop([](const char *name, auto, auto) -> void { + if (strstr(name, "magisk")) + deleteprop(name); + }, nullptr, false); vector targets; diff --git a/native/jni/magiskhide/magiskhide.h b/native/jni/magiskhide/magiskhide.h index f597f06e2..05d0f65ea 100644 --- a/native/jni/magiskhide/magiskhide.h +++ b/native/jni/magiskhide/magiskhide.h @@ -38,7 +38,6 @@ void crawl_procfs(DIR *dir, const std::function &fn); // Hide policies void hide_daemon(int pid); void hide_sensitive_props(); -void manage_selinux(); extern bool hide_enabled; extern pthread_mutex_t monitor_lock;