OSDN Git Service

Label /dev/goldfish_pipe as qemu_device
authorYu Ning <yu.ning@intel.com>
Thu, 14 May 2015 16:00:35 +0000 (00:00 +0800)
committerYu Ning <yu.ning@intel.com>
Fri, 15 May 2015 08:30:57 +0000 (16:30 +0800)
commita5053e6b35fa1188d94a851a3032126141e5c87f
treeffa48a94c224e627c010d8b5f009efc0c7d24fe5
parent7033819eeba08f9e550bc50fd1b01625d5f7e673
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.

Change-Id: Iad979c0ee9d0a410be12b83ac1bef9476b50a6dc
Signed-off-by: Yu Ning <yu.ning@intel.com>
target/board/generic/sepolicy/file_contexts