2020-01-30 16:52:45 +01:00
|
|
|
###
|
|
|
|
### A domain for further sandboxing the MediaProvider mainline module.
|
|
|
|
###
|
2022-02-10 01:32:44 +01:00
|
|
|
type mediaprovider_app, domain, coredomain, bpfdomain;
|
2020-01-30 16:52:45 +01:00
|
|
|
|
|
|
|
app_domain(mediaprovider_app)
|
|
|
|
|
|
|
|
# Access to /mnt/pass_through.
|
2020-04-15 10:08:02 +02:00
|
|
|
r_dir_file(mediaprovider_app, mnt_pass_through_file)
|
2020-01-30 16:52:45 +01:00
|
|
|
|
|
|
|
# Allow MediaProvider to host a FUSE daemon for external storage
|
|
|
|
allow mediaprovider_app fuse_device:chr_file { read write ioctl getattr };
|
|
|
|
|
|
|
|
# Allow MediaProvider to read/write media_rw_data_file files and dirs
|
|
|
|
allow mediaprovider_app media_rw_data_file:file create_file_perms;
|
|
|
|
allow mediaprovider_app media_rw_data_file:dir create_dir_perms;
|
|
|
|
|
|
|
|
# Talk to the DRM service
|
|
|
|
allow mediaprovider_app drmserver_service:service_manager find;
|
|
|
|
|
|
|
|
# Talk to the MediaServer service
|
|
|
|
allow mediaprovider_app mediaserver_service:service_manager find;
|
2021-07-02 11:23:04 +02:00
|
|
|
|
|
|
|
# Talk to the AudioServer service
|
|
|
|
allow mediaprovider_app audioserver_service:service_manager find;
|
2020-01-30 16:52:45 +01:00
|
|
|
|
2021-10-14 15:39:52 +02:00
|
|
|
# Talk to the MediaCodec APIs that log media metrics
|
|
|
|
allow mediaprovider_app mediametrics_service:service_manager find;
|
|
|
|
|
2020-01-30 16:52:45 +01:00
|
|
|
# Talk to regular app services
|
|
|
|
allow mediaprovider_app app_api_service:service_manager find;
|
|
|
|
|
|
|
|
# Talk to the GPU service
|
|
|
|
binder_call(mediaprovider_app, gpuservice)
|
|
|
|
|
2020-06-15 20:18:49 +02:00
|
|
|
# Talk to statsd
|
|
|
|
allow mediaprovider_app statsmanager_service:service_manager find;
|
|
|
|
binder_call(mediaprovider_app, statsd)
|
|
|
|
|
2020-01-30 16:52:45 +01:00
|
|
|
# read pipe-max-size configuration
|
|
|
|
allow mediaprovider_app proc_pipe_conf:file r_file_perms;
|
|
|
|
|
|
|
|
# Allow MediaProvider to set extended attributes (such as quota project ID)
|
|
|
|
# on media files.
|
|
|
|
allowxperm mediaprovider_app media_rw_data_file:{ dir file } ioctl {
|
|
|
|
FS_IOC_FSGETXATTR
|
|
|
|
FS_IOC_FSSETXATTR
|
|
|
|
FS_IOC_GETFLAGS
|
|
|
|
FS_IOC_SETFLAGS
|
|
|
|
};
|
2020-02-19 17:10:43 +01:00
|
|
|
|
2020-03-25 14:22:54 +01:00
|
|
|
# Access external sdcards through /mnt/media_rw
|
|
|
|
allow mediaprovider_app { mnt_media_rw_file }:dir search;
|
|
|
|
|
2020-02-19 17:10:43 +01:00
|
|
|
allow mediaprovider_app proc_filesystems:file r_file_perms;
|
2020-05-12 07:50:40 +02:00
|
|
|
|
|
|
|
#Allow MediaProvider to see if sdcardfs is in use
|
|
|
|
get_prop(mediaprovider_app, storage_config_prop)
|
2020-05-25 08:36:44 +02:00
|
|
|
|
|
|
|
get_prop(mediaprovider_app, drm_service_config_prop)
|
2021-04-29 21:49:30 +02:00
|
|
|
|
2022-02-24 19:32:16 +01:00
|
|
|
allow mediaprovider_app gpu_device:chr_file rw_file_perms;
|
|
|
|
allow mediaprovider_app gpu_device:dir r_dir_perms;
|
2021-08-12 10:20:59 +02:00
|
|
|
|
|
|
|
dontaudit mediaprovider_app sysfs_vendor_sched:dir search;
|
2021-12-08 03:24:30 +01:00
|
|
|
dontaudit mediaprovider_app sysfs_vendor_sched:file w_file_perms;
|
2021-11-11 19:42:11 +01:00
|
|
|
|
|
|
|
# bpfprog access for FUSE BPF
|
|
|
|
allow mediaprovider_app fs_bpf:file read;
|
|
|
|
allow mediaprovider_app bpfloader:bpf { map_read map_write prog_run };
|