platform_system_sepolicy/public/hal_health.te
Yifan Hong 87ef6049f6 hal_health_default: permissions for default impl
Default health service needs following permissions to work:
- read /sys/class/power_supply
- uevent
- wakelock

Bug: 63702641
Test: no denials for health service

Change-Id: I2f3aed3ef3b5ac024da17d9d5400d9834038df9f
2017-10-31 15:11:23 -07:00

27 lines
1 KiB
Text

# HwBinder IPC from client to server, and callbacks
binder_call(hal_health_client, hal_health_server)
binder_call(hal_health_server, hal_health_client)
add_hwservice(hal_health_server, hal_health_hwservice)
allow hal_health_client hal_health_hwservice:hwservice_manager find;
# Read access to system files for HALs in
# /{system,vendor,odm}/lib[64]/hw/ in order
# to be able to open the hal implementation .so files
r_dir_file(hal_health, system_file)
# Common rules for a health service.
# Allow to listen to uevents for updates
allow hal_health_server self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
# Allow to read /sys/class/power_supply directory
allow hal_health_server sysfs:dir r_dir_perms;
# Allow to read files under /sys/class/power_supply. Implementations typically have symlinks
# to vendor specific files. Vendors should mark sysfs_batteryinfo on all files read by health
# HAL service.
r_dir_file(hal_health_server, sysfs_batteryinfo)
# Allow to wake up to send periodic events
wakelock_use(hal_health_server)