From e2eb69db6d818b41f5c0f2090cc643f7cff31734 Mon Sep 17 00:00:00 2001 From: Stephen Smalley Date: Tue, 16 Apr 2013 09:30:30 -0400 Subject: Handle policy reloads within ueventd rather than restarting it. Restarting ueventd upon policy reloads has reportedly created stability problems for some users and could cause events to be lost. Stop restarting ueventd and instead handle policy reloads within ueventd. Also stops restarting installd upon policy reloads. Change-Id: Ic7f310d69a7c420e48fbc974000cf4a5b9ab4a3b Signed-off-by: Stephen Smalley --- init/devices.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'init') diff --git a/init/devices.c b/init/devices.c index 1893642..af88c5f 100644 --- a/init/devices.c +++ b/init/devices.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -830,6 +831,15 @@ void handle_device_fd() struct uevent uevent; parse_event(msg, &uevent); + if (sehandle && selinux_status_updated() > 0) { + struct selabel_handle *sehandle2; + sehandle2 = selinux_android_file_context_handle(); + if (sehandle2) { + selabel_close(sehandle); + sehandle = sehandle2; + } + } + handle_device_event(&uevent); handle_firmware_event(&uevent); } @@ -896,6 +906,7 @@ void device_init(void) sehandle = NULL; if (is_selinux_enabled() > 0) { sehandle = selinux_android_file_context_handle(); + selinux_status_open(true); } /* is 256K enough? udev uses 16MB! */ -- cgit v1.1