From 8a3878700eb9cd8ecf495cd01f15face5c3879c8 Mon Sep 17 00:00:00 2001
From: repo sync <gcondra@google.com>
Date: Fri, 17 May 2013 12:47:04 -0700
Subject: [PATCH] Revert "Reload policy after setting up the data partition."

This reverts commit fee250d27a9c03af1ba439047b976d89563b1887.
---
 init/builtins.c         | 6 ------
 init/init_parser.c      | 1 -
 init/keywords.h         | 2 --
 init/property_service.c | 3 +++
 rootdir/init.rc         | 4 ----
 5 files changed, 3 insertions(+), 13 deletions(-)

diff --git a/init/builtins.c b/init/builtins.c
index 275a1afb15..0f9f131361 100644
--- a/init/builtins.c
+++ b/init/builtins.c
@@ -515,12 +515,6 @@ int do_mount_all(int nargs, char **args)
     return ret;
 }
 
-int do_selinux_reload(int nargs, char **args) {
-    if (is_selinux_enabled() <= 0)
-        return 0;
-    return selinux_reload_policy();
-}
-
 int do_setcon(int nargs, char **args) {
     if (is_selinux_enabled() <= 0)
         return 0;
diff --git a/init/init_parser.c b/init/init_parser.c
index 5182a297c7..686640ed40 100644
--- a/init/init_parser.c
+++ b/init/init_parser.c
@@ -138,7 +138,6 @@ int lookup_keyword(const char *s)
         break;
     case 's':
         if (!strcmp(s, "eclabel")) return K_seclabel;
-        if (!strcmp(s, "elinux_reload_policy")) return K_selinux_reload_policy;
         if (!strcmp(s, "ervice")) return K_service;
         if (!strcmp(s, "etcon")) return K_setcon;
         if (!strcmp(s, "etenforce")) return K_setenforce;
diff --git a/init/keywords.h b/init/keywords.h
index 55d6af3ac0..f188db5d71 100644
--- a/init/keywords.h
+++ b/init/keywords.h
@@ -18,7 +18,6 @@ int do_restart(int nargs, char **args);
 int do_restorecon(int nargs, char **args);
 int do_rm(int nargs, char **args);
 int do_rmdir(int nargs, char **args);
-int do_selinux_reload(int nargs, char **args);
 int do_setcon(int nargs, char **args);
 int do_setenforce(int nargs, char **args);
 int do_setkey(int nargs, char **args);
@@ -72,7 +71,6 @@ enum {
     KEYWORD(rm,          COMMAND, 1, do_rm)
     KEYWORD(rmdir,       COMMAND, 1, do_rmdir)
     KEYWORD(seclabel,    OPTION,  0, 0)
-    KEYWORD(selinux_reload_policy,    COMMAND, 0, do_selinux_reload)
     KEYWORD(service,     SECTION, 0, 0)
     KEYWORD(setcon,      COMMAND, 1, do_setcon)
     KEYWORD(setenforce,  COMMAND, 1, do_setenforce)
diff --git a/init/property_service.c b/init/property_service.c
index 62b6c3dfd1..3248399774 100755
--- a/init/property_service.c
+++ b/init/property_service.c
@@ -384,6 +384,9 @@ int property_set(const char *name, const char *value)
          * to prevent them from being overwritten by default values.
          */
         write_persistent_property(name, value);
+    } else if (strcmp("selinux.reload_policy", name) == 0 &&
+               strcmp("1", value) == 0) {
+        selinux_reload_policy();
     }
     property_changed(name, value);
     return 0;
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 4b4408f326..854af445dc 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -177,9 +177,6 @@ on post-fs
     mkdir /cache/lost+found 0770 root root
 
 on post-fs-data
-    # reload SELinux based on what we find on the data partition
-    selinux_reload_policy
-
     # We chown/chmod /data again so because mount is run as root + defaults
     chown system system /data
     chmod 0771 /data
@@ -413,7 +410,6 @@ service ueventd /sbin/ueventd
     seclabel u:r:ueventd:s0
 
 on property:selinux.reload_policy=1
-    selinux_reload_policy
     restart ueventd
     restart installd
 
-- 
GitLab