5ef48cf831
This is originally allowed in healthd but the permission was not transfered to health HAL. A typical health HAL implementation is likely to write battery info to kernel logs. Test: device has battery kernel logs with health HAL but without healthd Bug: 77661605 Change-Id: Ib3b5d3fe6bdb3df2a240c85f9d27b863153805d2
30 lines
1.1 KiB
Text
30 lines
1.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)
|
|
|
|
# Write to /dev/kmsg
|
|
allow hal_health_server kmsg_device:chr_file w_file_perms;
|