release-request-68cc9b2a-98ae-4fbf-8b56-3e535855f399-for-git_oc-mr1-release-4269864 snap-temp-L25700000092502312
Change-Id: I72a5ee1ce7a9a28046de214bcde659e3d4f6a48c
diff --git a/libselinux/Android.bp b/libselinux/Android.bp
index 65607d1..3e881c2 100644
--- a/libselinux/Android.bp
+++ b/libselinux/Android.bp
@@ -87,6 +87,12 @@
}
},
+ product_variables: {
+ treble: {
+ cflags: ["-DFULL_TREBLE"],
+ },
+ },
+
local_include_dirs: ["include"],
export_include_dirs: ["include"],
}
diff --git a/libselinux/src/android/android.c b/libselinux/src/android/android.c
index 391fc1b..b79b463 100644
--- a/libselinux/src/android/android.c
+++ b/libselinux/src/android/android.c
@@ -63,8 +63,12 @@
seopts_service = seopts_service_rootfs;
}
- // TODO(b/36866029) full treble devices can't load non-plat
+#ifdef FULL_TREBLE
+ // Treble compliant devices can only serve plat_service_contexts from servicemanager
+ return selinux_android_service_open_context_handle(seopts_service, 1);
+#else
return selinux_android_service_open_context_handle(seopts_service, 2);
+#endif
}
struct selabel_handle* selinux_android_hw_service_context_handle(void)