Skip to content
Snippets Groups Projects
  • Alex Klyubin's avatar
    Grant rild and gatekeeperd access to hwservicemanager · 7f468994
    Alex Klyubin authored
    In my commit f41d89eb I forgot to
    switch rild and gatekeeperd rules from explicitly associating these
    domains with the hal_telephony and hal_gatekeeper to using the
    hal_impl_domain macro. As a result, the recent commit
    a2519226 inadvertently revoked
    HwBinder access from rild and gatekeeperd.
    
    This commit fixes the issue by switching rild and gatekeeperd to the
    hal_impl_domain macro.
    
    Test: "sepolicy-analyze out/target/product/bullhead/root/sepolicy attribute haldomain"
          now lists rild and gatekeeperd
    Test: "sepolicy-analyze out/target/product/bullhead/root/sepolicy attribute hal_telephony"
          still lists rild
    Test: "sepolicy-analyze out/target/product/bullhead/root/sepolicy attribute hal_gatekeeper"
          still lists gatekeeperd
    Bug: 34180936
    Bug: 34470443
    Change-Id: I7949556f58c36811205d5ea3ee78ea5708e95b45
    7f468994
rild.te 1.73 KiB
# rild - radio interface layer daemon
type rild, domain, domain_deprecated;
hal_impl_domain(rild, hal_telephony)
type rild_exec, exec_type, file_type;

net_domain(rild)
allowxperm rild self:udp_socket ioctl priv_sock_ioctls;

allow rild self:netlink_route_socket nlmsg_write;
allow rild kernel:system module_request;
allow rild self:capability { setpcap setgid setuid net_admin net_raw };
allow rild alarm_device:chr_file rw_file_perms;
allow rild cgroup:dir create_dir_perms;
allow rild cgroup:{ file lnk_file } r_file_perms;
allow rild radio_device:chr_file rw_file_perms;
allow rild radio_device:blk_file r_file_perms;
allow rild mtd_device:dir search;
allow rild efs_file:dir create_dir_perms;
allow rild efs_file:file create_file_perms;
allow rild shell_exec:file rx_file_perms;
allow rild bluetooth_efs_file:file r_file_perms;
allow rild bluetooth_efs_file:dir r_dir_perms;
allow rild radio_data_file:dir rw_dir_perms;
allow rild radio_data_file:file create_file_perms;
allow rild sdcard_type:dir r_dir_perms;
allow rild system_data_file:dir r_dir_perms;
allow rild system_data_file:file r_file_perms;
allow rild system_file:file x_file_perms;

# property service
set_prop(rild, radio_prop)

allow rild tty_device:chr_file rw_file_perms;

# Allow rild to create and use netlink sockets.
allow rild self:netlink_socket create_socket_perms_no_ioctl;
allow rild self:netlink_generic_socket create_socket_perms_no_ioctl;
allow rild self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;

# Access to wake locks
wakelock_use(rild)

r_dir_file(rild, proc)
r_dir_file(rild, proc_net)
r_dir_file(rild, sysfs_type)
r_dir_file(rild, system_file)

# granting the ioctl permission for rild should be device specific
allow rild self:socket create_socket_perms_no_ioctl;