Subject: drop useless includes of Android SELINUX extensions; avoids having to clone another module; this should be sent upstream
Author: Sergio Schvezov <sergio.schvezov@canonical.com>

Upstream-Status: Inappropriate
---
 system/core/adb/file_sync_service.c         |    3 ---
 system/extras/ext4_utils/make_ext4fs.c      |    1 -
 system/extras/ext4_utils/make_ext4fs_main.c |    1 -
 3 files changed, 5 deletions(-)

--- a/system/extras/ext4_utils/make_ext4fs.c
+++ b/system/extras/ext4_utils/make_ext4fs.c
@@ -62,7 +62,6 @@
 
 #include <selinux/selinux.h>
 #include <selinux/label.h>
-#include <selinux/android.h>
 
 #define O_BINARY 0
 
--- a/system/extras/ext4_utils/make_ext4fs_main.c
+++ b/system/extras/ext4_utils/make_ext4fs_main.c
@@ -32,7 +32,6 @@
 #ifndef USE_MINGW
 #include <selinux/selinux.h>
 #include <selinux/label.h>
-#include <selinux/android.h>
 #else
 struct selabel_handle;
 #endif
--- a/system/core/adb/file_sync_service.c
+++ b/system/core/adb/file_sync_service.c
@@ -26,7 +26,6 @@
 
 #include <errno.h>
 #include <private/android_filesystem_config.h>
-#include <selinux/android.h>
 #include "sysdeps.h"
 
 #define TRACE_TAG  TRACE_SYNC
@@ -73,7 +72,6 @@ static int mkdirs(char *name)
                 *x = '/';
                 return ret;
             }
-            selinux_android_restorecon(name, 0);
         }
         *x++ = '/';
     }
@@ -251,7 +249,6 @@ static int handle_send_file(int s, char
     if(fd >= 0) {
         struct utimbuf u;
         adb_close(fd);
-        selinux_android_restorecon(path, 0);
         u.actime = timestamp;
         u.modtime = timestamp;
         utime(path, &u);
