Patches as of 2018-03-06 release
diff --git a/patches/platform_external_selinux/0005-Delete-identical-genfscon-s.patch b/patches/platform_external_selinux/0005-Delete-identical-genfscon-s.patch
new file mode 100644
index 0000000..bf664e1
--- /dev/null
+++ b/patches/platform_external_selinux/0005-Delete-identical-genfscon-s.patch
@@ -0,0 +1,42 @@
+From c334f823d0eccac2656ceceb707367680cca32f2 Mon Sep 17 00:00:00 2001
+From: Pierre-Hugues Husson <phh@phh.me>
+Date: Sat, 3 Mar 2018 19:02:29 +0100
+Subject: [PATCH 5/5] Delete identical genfscon-s
+
+Change-Id: I9775187b9da3568390ab66ebd59cb774b1283ad1
+---
+ libsepol/cil/src/cil_post.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/libsepol/cil/src/cil_post.c b/libsepol/cil/src/cil_post.c
+index a30de0e1..605847d1 100644
+--- a/libsepol/cil/src/cil_post.c
++++ b/libsepol/cil/src/cil_post.c
+@@ -53,6 +53,16 @@
+ static int __cil_expr_to_bitmap(struct cil_list *expr, ebitmap_t *out, int max, struct cil_db *db);
+ static int __cil_expr_list_to_bitmap(struct cil_list *expr_list, ebitmap_t *out, int max, struct cil_db *db);
+
++static int compact(void* array, int count, int len, int (*compar)(const void *, const void *)) {
++ char *a = (char*)array;
++ int j = 0;
++ for(int i=1; i<count; i++) {
++ if(compar(a+i*len, a+j*len) != 0) j++;
++ if(i != j) memcpy(a+j*len, a+i*len, len);
++ }
++ return j;
++}
++
+ static int cil_verify_is_list(struct cil_list *list, enum cil_flavor flavor)
+ {
+ struct cil_list_item *curr;
+@@ -1977,6 +1987,7 @@ static int cil_post_db(struct cil_db *db)
+
+ qsort(db->netifcon->array, db->netifcon->count, sizeof(db->netifcon->array), cil_post_netifcon_compare);
+ qsort(db->genfscon->array, db->genfscon->count, sizeof(db->genfscon->array), cil_post_genfscon_compare);
++ db->genfscon->count = compact(db->genfscon->array, db->genfscon->count, sizeof(db->genfscon->array), cil_post_genfscon_compare);
+ qsort(db->portcon->array, db->portcon->count, sizeof(db->portcon->array), cil_post_portcon_compare);
+ qsort(db->nodecon->array, db->nodecon->count, sizeof(db->nodecon->array), cil_post_nodecon_compare);
+ qsort(db->fsuse->array, db->fsuse->count, sizeof(db->fsuse->array), cil_post_fsuse_compare);
+--
+2.15.1
+