2017-04-14 04:05:27 +02:00
|
|
|
# HwBinder IPC from client to server, and callbacks
|
|
|
|
binder_call(hal_health_client, hal_health_server)
|
|
|
|
binder_call(hal_health_server, hal_health_client)
|
|
|
|
|
2018-06-06 18:30:18 +02:00
|
|
|
hal_attribute_hwservice(hal_health, hal_health_hwservice)
|
2021-10-20 22:43:45 +02:00
|
|
|
hal_attribute_service(hal_health, hal_health_service)
|
2017-01-12 00:57:32 +01:00
|
|
|
|
2017-10-25 02:25:30 +02:00
|
|
|
# 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)
|
2018-04-06 03:27:49 +02:00
|
|
|
|
|
|
|
# Write to /dev/kmsg
|
2019-03-20 23:36:26 +01:00
|
|
|
allow hal_health_server kmsg_device:chr_file { getattr w_file_perms };
|
2019-03-06 19:54:21 +01:00
|
|
|
|
|
|
|
# Allow to use timerfd to wake itself up periodically to send health info.
|
|
|
|
allow hal_health_server self:capability2 wake_alarm;
|
2022-03-08 23:56:27 +01:00
|
|
|
|
|
|
|
# Use bpf programs
|
|
|
|
allow hal_health_server fs_bpf_vendor:dir search;
|
|
|
|
allow hal_health_server fs_bpf_vendor:file read;
|
|
|
|
allow hal_health_server bpfloader:bpf prog_run;
|