From f0b53d072688ecbe7e7d57631a74d59cfb914b15 Mon Sep 17 00:00:00 2001 From: Mark Salyzyn Date: Fri, 28 Apr 2017 09:43:36 -0700 Subject: [PATCH] libcutils: fs_config.c mark vendor, odm and oem partitions in duplicate Cover both direct and symlink indirect paths to the referenced files in the vendor, odm and oem partitions. Test: compile and hand-verify properties Bug: 37703469 Change-Id: I5b3a887e904baee2ac193ac4a73aaaee0bbfdb9f --- libcutils/fs_config.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/libcutils/fs_config.c b/libcutils/fs_config.c index e1e8c8dd0..e4541f787 100644 --- a/libcutils/fs_config.c +++ b/libcutils/fs_config.c @@ -140,8 +140,14 @@ static const struct fs_path_config android_files[] = { { 00600, AID_ROOT, AID_ROOT, 0, "odm/default.prop" }, { 00444, AID_ROOT, AID_ROOT, 0, odm_conf_dir + 1 }, { 00444, AID_ROOT, AID_ROOT, 0, odm_conf_file + 1 }, + { 00600, AID_ROOT, AID_ROOT, 0, "system/odm/build.prop" }, + { 00600, AID_ROOT, AID_ROOT, 0, "system/odm/default.prop" }, + { 00444, AID_ROOT, AID_ROOT, 0, "system/odm/etc/fs_config_dirs" }, + { 00444, AID_ROOT, AID_ROOT, 0, "system/odm/etc/fs_config_files" }, { 00444, AID_ROOT, AID_ROOT, 0, oem_conf_dir + 1 }, { 00444, AID_ROOT, AID_ROOT, 0, oem_conf_file + 1 }, + { 00444, AID_ROOT, AID_ROOT, 0, "system/oem/etc/fs_config_dirs" }, + { 00444, AID_ROOT, AID_ROOT, 0, "system/oem/etc/fs_config_files" }, { 00750, AID_ROOT, AID_SHELL, 0, "sbin/fs_mgr" }, { 00755, AID_ROOT, AID_SHELL, 0, "system/bin/crash_dump32" }, { 00755, AID_ROOT, AID_SHELL, 0, "system/bin/crash_dump64" }, @@ -158,6 +164,10 @@ static const struct fs_path_config android_files[] = { { 00555, AID_ROOT, AID_ROOT, 0, "system/etc/ppp/*" }, { 00555, AID_ROOT, AID_ROOT, 0, "system/etc/rc.*" }, { 00440, AID_ROOT, AID_ROOT, 0, "system/etc/recovery.img" }, + { 00600, AID_ROOT, AID_ROOT, 0, "system/vendor/build.prop" }, + { 00600, AID_ROOT, AID_ROOT, 0, "system/vendor/default.prop" }, + { 00444, AID_ROOT, AID_ROOT, 0, "system/vendor/etc/fs_config_dirs" }, + { 00444, AID_ROOT, AID_ROOT, 0, "system/vendor/etc/fs_config_files" }, { 00600, AID_ROOT, AID_ROOT, 0, "vendor/build.prop" }, { 00600, AID_ROOT, AID_ROOT, 0, "vendor/default.prop" }, { 00444, AID_ROOT, AID_ROOT, 0, ven_conf_dir + 1 }, @@ -191,11 +201,17 @@ static const struct fs_path_config android_files[] = { /* Support Bluetooth legacy hal accessing /sys/class/rfkill * Support RT scheduling in Bluetooth */ + { 00700, AID_BLUETOOTH, AID_BLUETOOTH, CAP_MASK_LONG(CAP_NET_ADMIN) | + CAP_MASK_LONG(CAP_SYS_NICE), + "system/vendor/bin/hw/android.hardware.bluetooth@1.0-service" }, { 00700, AID_BLUETOOTH, AID_BLUETOOTH, CAP_MASK_LONG(CAP_NET_ADMIN) | CAP_MASK_LONG(CAP_SYS_NICE), "vendor/bin/hw/android.hardware.bluetooth@1.0-service" }, /* Support wifi_hal_legacy administering a network interface. */ + { 00755, AID_WIFI, AID_WIFI, CAP_MASK_LONG(CAP_NET_ADMIN) | + CAP_MASK_LONG(CAP_NET_RAW), + "system/vendor/bin/hw/android.hardware.wifi@1.0-service" }, { 00755, AID_WIFI, AID_WIFI, CAP_MASK_LONG(CAP_NET_ADMIN) | CAP_MASK_LONG(CAP_NET_RAW), "vendor/bin/hw/android.hardware.wifi@1.0-service" },