# /dev/block/mmcblk0p[0-9]*
allow fsck emmcblk_device:blk_file rw_file_perms;
-allowxperm fsck emmcblk_device:blk_file ioctl { BLKDISCARDZEROES BLKROGET };
+allowxperm fsck emmcblk_device:blk_file ioctl { BLKGETSIZE64 BLKDISCARDZEROES BLKROGET };
allow gpsd system_server:unix_stream_socket rw_socket_perms;
binder_call(gpsd, system_server)
-binder_use(gpsd)
+binder_call(gpsd, system_suspend_server)
+hwbinder_use(gpsd)
+
+allow gpsd system_suspend_hwservice:hwservice_manager { find };
# Sockets
type_transition gpsd gps_data_file:sock_file gps_socket;
+vndbinder_use(hal_graphics_composer_default);
+
# Graphics sysfs
allow hal_graphics_composer_default sysfs_graphics:dir search;
allow hal_graphics_composer_default sysfs_graphics:file rw_file_perms;
# uevent socket
allow hal_graphics_composer_default self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
+# Video devices
+allow hal_graphics_composer_default video_device:chr_file rw_file_perms;
--- /dev/null
+# gpsd
+#allow hwservicemanager gpsd:dir search;
+#allow hwservicemanager gpsd:file { read open };
+#allow hwservicemanager gpsd:process getattr;
+#allow hwservicemanager gpsd:binder transfer;
allow vold sysfs_mmc:file w_file_perms;
r_dir_file(vold, proc_dt_firmware)
+
+# sswap
+allow vold sysfs_sswap:file w_file_perms;