Label /dev/goldfish_pipe as qemu_device
In goldfish kernel 3.10, qemu_pipe has been renamed to goldfish_pipe.
However, in the emulator's SELinux policy, there is no specific security
context assigned to /dev/goldfish_pipe, and the one inherited from /dev
(u:object_r:device:s0) prevents various processes (qemud, qemu-props,
etc.) from reading and writing goldfish_pipe. Consequently, the classic
x86_64 emulator will not boot if GPU emulation is enabled ("-gpu host"),
and does not render the UI correctly if launched with "-gpu off".
Fix this issue by assigning /dev/goldfish_pipe the same security context
as /dev/qemu_pipe.
This CL also benefits the new ("ranchu") emulator, where all supported
ABIs (arm64, mips64, x86 and x86_64) use 3.10-based kernels. Without
this fix, the new emulator boots and works, but there are avc denials
related to goldfish_pipe.
Last but not least, it is now possible to boot the classic x86 emulator
with a 3.10-based kernel instead of the current 3.4-based one, without
disabling SELinux.
(cherry-pick of commit: a5053e6b35
)
Change-Id: I52e75c94d3ae3758cbbf5bc0e1d84254fdf5c6cb
Signed-off-by: Yu Ning <yu.ning@intel.com>
This commit is contained in:
parent
f9f9c3f31e
commit
b23b5cc4a4
|
@ -1,6 +1,7 @@
|
|||
/dev/block/mtdblock0 u:object_r:system_block_device:s0
|
||||
/dev/block/mtdblock1 u:object_r:userdata_block_device:s0
|
||||
/dev/block/mtdblock2 u:object_r:cache_block_device:s0
|
||||
/dev/goldfish_pipe u:object_r:qemu_device:s0
|
||||
/dev/qemu_.* u:object_r:qemu_device:s0
|
||||
/dev/socket/qemud u:object_r:qemud_socket:s0
|
||||
/system/bin/qemud u:object_r:qemud_exec:s0
|
||||
|
|
Loading…
Reference in New Issue