Home | History | Annotate | Download | only in sepolicy
      1 # goldfish-setup service: runs init.goldfish.sh script
      2 type goldfish_setup, domain;
      3 type goldfish_setup_exec, vendor_file_type, exec_type, file_type;
      4 
      5 init_daemon_domain(goldfish_setup)
      6 
      7 # TODO(b/79502552): Invalid property access from emulator vendor
      8 #set_prop(goldfish_setup, debug_prop);
      9 allow goldfish_setup self:capability { net_admin net_raw };
     10 allow goldfish_setup self:udp_socket { create ioctl };
     11 allow goldfish_setup vendor_toolbox_exec:file execute_no_trans;
     12 allowxperm goldfish_setup self:udp_socket ioctl priv_sock_ioctls;
     13 wakelock_use(goldfish_setup);
     14 allow goldfish_setup vendor_shell_exec:file { rx_file_perms };
     15 
     16 # Set system properties to start services
     17 set_prop(goldfish_setup, ctl_default_prop);
     18 
     19 # Set up WiFi
     20 allow goldfish_setup self:netlink_route_socket { create nlmsg_write setopt bind getattr read write nlmsg_read };
     21 allow goldfish_setup self:netlink_generic_socket create_socket_perms_no_ioctl;
     22 allow goldfish_setup self:capability { sys_module sys_admin };
     23 allow goldfish_setup varrun_file:dir { mounton open read write add_name search remove_name };
     24 allow goldfish_setup varrun_file:file { mounton getattr create read write open unlink };
     25 allow goldfish_setup execns_exec:file rx_file_perms;
     26 allow goldfish_setup proc_net:file rw_file_perms;
     27 allow goldfish_setup proc:file r_file_perms;
     28 allow goldfish_setup nsfs:file r_file_perms;
     29 allow goldfish_setup system_data_file:dir getattr;
     30 allow goldfish_setup kernel:system module_request;
     31 set_prop(goldfish_setup, qemu_prop);
     32 get_prop(goldfish_setup, net_share_prop);
     33 # Allow goldfish_setup to run /system/bin/ip and /system/bin/iw
     34 allow goldfish_setup system_file:file execute_no_trans;
     35 # Allow goldfish_setup to run init.wifi.sh
     36 allow goldfish_setup goldfish_setup_exec:file execute_no_trans;
     37 #Allow goldfish_setup to run createns in its own domain
     38 domain_auto_trans(goldfish_setup, createns_exec, createns);
     39 # iw
     40 allow goldfish_setup sysfs:file { read open };
     41 # iptables
     42 allow goldfish_setup system_file:file lock;
     43 allow goldfish_setup self:rawip_socket { create getopt setopt };
     44 # Allow goldfish_setup to read createns proc file to get the namespace file
     45 allow goldfish_setup createns:file { read };
     46 allow goldfish_setup createns:dir { search };
     47 allow goldfish_setup createns:lnk_file { read };
     48