From a2021693186752fb21c34117206c8bccc373f798 Mon Sep 17 00:00:00 2001 From: Connor O'Brien Date: Thu, 16 Mar 2017 19:13:37 -0700 Subject: [PATCH] Add binderized memtrack HAL service Test: Boots and passes memtrack VTS with no memtrack-related SELinux denials; dumpsys meminfo reports reasonable values for graphics memory usage. Bug: 36097468 Change-Id: I878bf682a74d479011e0435a427551ec606d032f Signed-off-by: Connor O'Brien --- device.mk | 6 ++++++ manifest.xml | 6 ++++++ sepolicy/domain.te | 6 ++++++ sepolicy/file.te | 1 + sepolicy/genfs_contexts | 2 ++ sepolicy/hal_memtrack.te | 1 + 6 files changed, 22 insertions(+) create mode 100644 sepolicy/hal_memtrack.te diff --git a/device.mk b/device.mk index 34ef6096..02eeede7 100644 --- a/device.mk +++ b/device.mk @@ -233,6 +233,12 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \ android.hardware.keymaster@3.0-impl +# Memtrack HAL +PRODUCT_PACKAGES += \ + memtrack.msm8998 \ + android.hardware.memtrack@1.0-impl \ + android.hardware.memtrack@1.0-service + # Bluetooth HAL PRODUCT_PACKAGES += \ android.hardware.bluetooth@1.0-impl \ diff --git a/manifest.xml b/manifest.xml index 5ef3d3a8..2212b5a8 100644 --- a/manifest.xml +++ b/manifest.xml @@ -49,4 +49,10 @@ 1.0 + + android.hardware.memtrack + hwbinder + + 1.0 + diff --git a/sepolicy/domain.te b/sepolicy/domain.te index 07223d16..4485dbfd 100644 --- a/sepolicy/domain.te +++ b/sepolicy/domain.te @@ -1,3 +1,9 @@ userdebug_or_eng(` allow domain diag_device:chr_file rw_file_perms; ') + +# In order for /sys/kernel/debug/kgsl/proc//mem +# to be created for memory tracking, the domain of +# the tracked process must have permission to search +# in /sys/kernel/debug/kgsl +allow domain debugfs_kgsl:dir search; diff --git a/sepolicy/file.te b/sepolicy/file.te index 3d321e09..3e04200d 100644 --- a/sepolicy/file.te +++ b/sepolicy/file.te @@ -8,6 +8,7 @@ type sysfs_net, sysfs_type, fs_type; type sysfs_rmtfs, sysfs_type, fs_type; type sysfs_soc, sysfs_type, fs_type; type debugfs_rmt_storage, debugfs_type, fs_type; +type debugfs_kgsl, debugfs_type, fs_type; # /proc type proc_wifi_dbg, fs_type; diff --git a/sepolicy/genfs_contexts b/sepolicy/genfs_contexts index d578ece2..424e1b4a 100644 --- a/sepolicy/genfs_contexts +++ b/sepolicy/genfs_contexts @@ -1,2 +1,4 @@ genfscon proc /debug/fwdump u:object_r:proc_wifi_dbg:s0 genfscon proc /debugdriver/driverdump u:object_r:proc_wifi_dbg:s0 + +genfscon debugfs /kgsl/proc u:object_r:debugfs_kgsl:s0 diff --git a/sepolicy/hal_memtrack.te b/sepolicy/hal_memtrack.te new file mode 100644 index 00000000..be35873e --- /dev/null +++ b/sepolicy/hal_memtrack.te @@ -0,0 +1 @@ +allow hal_memtrack debugfs_kgsl:file { open read getattr };