aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiƩbaud Weksteen <tweek@google.com>2024-03-05 00:00:47 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2024-03-05 00:00:47 +0000
commitc20d8480e5b47e819c4dd9e2f314b4a26b616639 (patch)
treead6441bc5bbf6140dd01716c2d9cd15d4a4c8d5c
parentb39171460b624d51d52ded009b839e70eb8ee7e5 (diff)
parentc23cbe8ca5b18f0e9e1892f03f8f77cd6c2e0a8a (diff)
downloadselinux-c20d8480e5b47e819c4dd9e2f314b4a26b616639.tar.gz
Merge "Add build flags for libselinux" into main am: c23cbe8ca5
Original change: https://android-review.googlesource.com/c/platform/external/selinux/+/2971894 Change-Id: Iab88e01241410a5803177f30093e5b444692af6a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--libselinux/Android.bp23
-rw-r--r--libselinux/src/android/android_device.c5
2 files changed, 28 insertions, 0 deletions
diff --git a/libselinux/Android.bp b/libselinux/Android.bp
index 766c90ed..eaefc974 100644
--- a/libselinux/Android.bp
+++ b/libselinux/Android.bp
@@ -52,6 +52,7 @@ common_CFLAGS = [
cc_defaults {
name: "libselinux_defaults",
+ defaults: ["libselinux_flags_defaults"],
cflags: common_CFLAGS,
@@ -157,6 +158,28 @@ cc_defaults {
stl: "none",
}
+soong_config_module_type {
+ name: "cc_defaults_libselinux_flags",
+ module_type: "cc_defaults",
+ config_namespace: "ANDROID",
+ bool_variables: [
+ "release_selinux_data_data_ignore",
+ ],
+ properties: [
+ "cflags",
+ ],
+}
+
+cc_defaults_libselinux_flags {
+ name: "libselinux_flags_defaults",
+ host_supported: true,
+ soong_config_variables: {
+ release_selinux_data_data_ignore: {
+ cflags: ["-DSELINUX_FLAGS_DATA_DATA_IGNORE"],
+ }
+ }
+}
+
cc_library {
name: "libselinux",
defaults: ["libselinux_defaults"],
diff --git a/libselinux/src/android/android_device.c b/libselinux/src/android/android_device.c
index 5d1c4d31..63f3355b 100644
--- a/libselinux/src/android/android_device.c
+++ b/libselinux/src/android/android_device.c
@@ -281,6 +281,11 @@ struct pkg_info *package_info_lookup(const char *name)
*/
static bool is_app_data_path(const char *pathname) {
int flags = FNM_LEADING_DIR|FNM_PATHNAME;
+#ifdef SELINUX_FLAGS_DATA_DATA_IGNORE
+ if (!strcmp(pathname, DATA_DATA_PATH)) {
+ return true;
+ }
+#endif
return (!strncmp(pathname, DATA_DATA_PREFIX, sizeof(DATA_DATA_PREFIX)-1) ||
!strncmp(pathname, DATA_USER_PREFIX, sizeof(DATA_USER_PREFIX)-1) ||
!strncmp(pathname, DATA_USER_DE_PREFIX, sizeof(DATA_USER_DE_PREFIX)-1) ||