Steven Moreland | 7baf725 | 2018-05-25 16:23:37 -0700 | [diff] [blame] | 1 | type mediacodec, domain, mlstrustedsubject; |
| 2 | type mediacodec_exec, exec_type, vendor_file_type, file_type; |
| 3 | |
| 4 | init_daemon_domain(mediacodec) |
| 5 | |
Chong Zhang | bdbfff1 | 2018-09-20 12:07:44 -0700 | [diff] [blame] | 6 | # can route /dev/binder traffic to /dev/vndbinder |
| 7 | vndbinder_use(mediacodec) |
| 8 | |
Pawin Vongmasa | 609c243 | 2019-04-30 05:09:28 -0700 | [diff] [blame] | 9 | hal_server_domain(mediacodec, hal_codec2) |
Steven Moreland | 7baf725 | 2018-05-25 16:23:37 -0700 | [diff] [blame] | 10 | hal_server_domain(mediacodec, hal_omx) |
| 11 | |
Pawin Vongmasa | 609c243 | 2019-04-30 05:09:28 -0700 | [diff] [blame] | 12 | # mediacodec may use an input surface from a different Codec2 or OMX service |
| 13 | hal_client_domain(mediacodec, hal_codec2) |
| 14 | hal_client_domain(mediacodec, hal_omx) |
| 15 | |
Steven Moreland | 7baf725 | 2018-05-25 16:23:37 -0700 | [diff] [blame] | 16 | hal_client_domain(mediacodec, hal_allocator) |
Steven Moreland | 7baf725 | 2018-05-25 16:23:37 -0700 | [diff] [blame] | 17 | hal_client_domain(mediacodec, hal_graphics_allocator) |
Chong Zhang | bdbfff1 | 2018-09-20 12:07:44 -0700 | [diff] [blame] | 18 | |
| 19 | allow mediacodec gpu_device:chr_file rw_file_perms; |
Pawin Vongmasa | 609c243 | 2019-04-30 05:09:28 -0700 | [diff] [blame] | 20 | allow mediacodec ion_device:chr_file rw_file_perms; |
Hridya Valsaraju | 0fee013 | 2021-01-13 21:05:07 -0800 | [diff] [blame^] | 21 | allow mediacodec dmabuf_system_heap_device:chr_file r_file_perms; |
Chong Zhang | bdbfff1 | 2018-09-20 12:07:44 -0700 | [diff] [blame] | 22 | allow mediacodec video_device:chr_file rw_file_perms; |
| 23 | allow mediacodec video_device:dir search; |
| 24 | |
Pawin Vongmasa | 609c243 | 2019-04-30 05:09:28 -0700 | [diff] [blame] | 25 | crash_dump_fallback(mediacodec) |
| 26 | |
Inseob Kim | bdcbcf0 | 2020-05-06 18:30:20 +0900 | [diff] [blame] | 27 | # get aac_drc_* properties |
| 28 | get_prop(mediacodec, aac_drc_prop) |
| 29 | |
Pawin Vongmasa | 609c243 | 2019-04-30 05:09:28 -0700 | [diff] [blame] | 30 | # mediacodec should never execute any executable without a domain transition |
| 31 | neverallow mediacodec { file_type fs_type }:file execute_no_trans; |
| 32 | |
| 33 | # Media processing code is inherently risky and thus should have limited |
| 34 | # permissions and be isolated from the rest of the system and network. |
| 35 | # Lengthier explanation here: |
| 36 | # https://android-developers.googleblog.com/2016/05/hardening-media-stack.html |
| 37 | neverallow mediacodec domain:{ tcp_socket udp_socket rawip_socket } *; |
| 38 | |