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: a5053e6b) Change-Id: I52e75c94d3ae3758cbbf5bc0e1d84254fdf5c6cb Signed-off-by: Yu Ning <yu.ning@intel.com>
Loading
Please register or sign in to comment