diff --git a/device.mk b/device.mk index a551ceb3..324fa7db 100644 --- a/device.mk +++ b/device.mk @@ -234,6 +234,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 };