c68de664f9
Codec2 clients should have the permission to allocate from the system-secure DMA-BUF heap for secure playback. avc: denied { ioctl } for path="/dev/dma_heap/system-secure" dev="tmpfs" ino=649 ioctlcmd=0x4800 scontext=u:r:mediaswcodec:s0 tcontext=u:object_r:dmabuf_system_secure_heap_device:s0 tclass=chr_file permissive=1 avc: denied { read } for comm=4E444B204D65646961436F6465635F name="system-secure" dev="tmpfs" ino=649 scontext=u:r:system_server:s0 tcontext=u:object_r:dmabuf_system_secure_heap_device:s0 tclass=chr_file permissive=1 avc: denied { open } for comm=4E444B204D65646961436F6465635F path="/dev/dma_heap/system-secure" dev="tmpfs" ino=649 scontext=u:r:system_server:s0 tcontext=u:object_r:dmabuf_system_secure_heap_device:s0 tclass=chr_file permissive=1 avc: denied { ioctl } for comm=4E444B204D65646961436F6465635F path="/dev/dma_heap/system-secure" dev="tmpfs" ino=649 ioctlcmd=0x4800 scontext=u:r:system_server:s0 tcontext=u:object_r:dmabuf_system_secure_heap_device:s0 tclass=chr_file permissive=1 avc: denied { read } for name="system-secure" dev="tmpfs" ino=649 scontext=u:r:mediaswcodec:s0 tcontext=u:object_r:dmabuf_system_secure_heap_device:s0 tclass=chr_file permissive=1 avc: denied { open } for path="/dev/dma_heap/system-secure" dev="tmpfs" ino=649 scontext=u:r:mediaswcodec:s0 tcontext=u:object_r:dmabuf_system_secure_heap_device:s0 tclass=chr_file permissive=1 avc: denied { read } for comm=4E444B204D65646961436F6465635F name="system-secure" dev="tmpfs" ino=649 scontext=u:r:platform_app:s0:c512,c768 tcontext=u:object_r:dmabuf_system_secure_heap_device:s0 tclass=chr_file permissive=1 app=com.android.systemui 0:145): avc: denied { open } for comm=4E444B204D65646961436F6465635F path="/dev/dma_heap/system-secure" dev="tmpfs" ino=649 scontext=u:r:platform_app:s0:c512,c768 tcontext=u:object_r:dmabuf_system_secure_heap_device:s0 tclass=chr_file permissive=1 avc: denied { ioctl } for comm=4E444B204D65646961436F6465635F path="/dev/dma_heap/system-secure" dev="tmpfs" ino=649 ioctlcmd=0x4800 scontext=u:r:platform_app:s0:c512,c768 tcontext=u:object_r:dmabuf_system_secure_heap_device:s0 tclass=chr_file permissive=1 Bug: 172527615 Test: manual Change-Id: I465e5fcd660bb548e93d683e9d20cace7421ed2d
27 lines
1.1 KiB
Text
27 lines
1.1 KiB
Text
type mediaswcodec, domain;
|
|
type mediaswcodec_exec, system_file_type, exec_type, file_type;
|
|
|
|
hal_server_domain(mediaswcodec, hal_codec2)
|
|
|
|
# mediaswcodec may use an input surface from a different Codec2 service or an
|
|
# OMX service
|
|
hal_client_domain(mediaswcodec, hal_codec2)
|
|
hal_client_domain(mediaswcodec, hal_omx)
|
|
|
|
hal_client_domain(mediaswcodec, hal_allocator)
|
|
hal_client_domain(mediaswcodec, hal_graphics_allocator)
|
|
|
|
crash_dump_fallback(mediaswcodec)
|
|
|
|
# mediaswcodec_server should never execute any executable without a
|
|
# domain transition
|
|
neverallow mediaswcodec { file_type fs_type }:file execute_no_trans;
|
|
|
|
# Media processing code is inherently risky and thus should have limited
|
|
# permissions and be isolated from the rest of the system and network.
|
|
# Lengthier explanation here:
|
|
# https://android-developers.googleblog.com/2016/05/hardening-media-stack.html
|
|
neverallow mediaswcodec domain:{ tcp_socket udp_socket rawip_socket } *;
|
|
|
|
allow mediaswcodec dmabuf_system_heap_device:chr_file r_file_perms;
|
|
allow mediaswcodec dmabuf_system_secure_heap_device:chr_file r_file_perms;
|