Hide Forgot
+++ This bug was initially created as a clone of Bug #999914 +++ Description of problem: When virt-viewer attempts to run virDomainOpenGraphics, strace shows sendmsg() sending the FD, but QEMU never gets it with recvmsg(). THis leads to this error 2013-08-22 10:02:48.263+0000: 11573: debug : virDomainOpenGraphics:21172 : dom=0x1283e10, (VM: name=demo, uuid=62e2a27e-2f92-5545-2c8e-38b2cec76487), idx=0, fd=15, flags=1 (virt-viewer:11573): virt-viewer-DEBUG: Error internal error: unable to execute QEMU command 'getfd': No file descriptor supplied via SCM_RIGHTS The problem is that the FD libvirt gets is from an unconfined app. It passes this onto QEMU, which will be forbidden to access it. Libvirt needs to relabel it to the svirt image label to allow QEMU access. Version-Release number of selected component (if applicable): libvirt-0.10.2-22 How reproducible: Always Steps to Reproduce: 1. virt-viewer -c qemu:///session --debug --attach guestname 2. 3. Actual results: See the error message (virt-viewer:11573): virt-viewer-DEBUG: Error internal error: unable to execute QEMU command 'getfd': No file descriptor supplied via SCM_RIGHTS Expected results: virDomainOpenGraphics completes without error Additional info:
commit b6b94374b3bf6b44633ee99a68868141b6cd9ed8 Author: Daniel P. Berrange <berrange> Date: Thu Aug 22 12:38:26 2013 +0100 Set security label on FD for virDomainOpenGraphics
Reproduce this problem with libvirt-1.1.1-2.el7.x86_64: # virt-viewer -c qemu:///session --debug --attach $guestname ... (virt-viewer:21706): virt-viewer-DEBUG: Error internal error: unable to execute QEMU command 'getfd': No file descriptor supplied via SCM_RIGHTS ... When update libvirt to libvirt-1.1.1-3.el7.x86_64, when start virt-viwer, it will get a permission deny error: # getenforce Enforcing # virt-viewer -c qemu:///session --debug --attach $guestname ... (virt-viewer:22496): virt-viewer-DEBUG: Error unable to set security context 'system_u:object_r:svirt_image_t:s0:c680,c863' on fd 24: Permission denied ... in libvirtd.log: ... 2013-09-02 03:47:39.972+0000: 22362: error : virSecuritySELinuxFSetFilecon:975 : unable to set security context 'system_u:object_r:svirt_image_t:s0:c680,c863' on fd 24: Permission denied ... And there's a avc message in audit.log: type=AVC msg=audit(1378100765.320:30206): avc: denied { relabelto } for pid=22361 comm="libvirtd" name="UNIX" dev="sockfs" ino=488466 scontext=system_u:system_r:virtd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:svirt_image_t:s0:c680,c863 tclass=unix_stream_socket If set selinux to 'Permissive', the error will gone.
See bug 999926 for the selinux fix.
(In reply to Daniel Berrange from comment #6) > See bug 999926 for the selinux fix. Thanks for your quickly reply. bug 999926 fix in selinux-policy-3.12.1-73.el7, but i update selinux-policy and restart guest, the permission deny error still there. Please help to confirm this, thanks very much.
If you are still getting an AVC, then please provide an update on the selinux bug rather than this one. The AVC you list in comment #5 is the one the selinux bug is supposed to fix.
(In reply to Daniel Berrange from comment #8) > If you are still getting an AVC, then please provide an update on the > selinux bug rather than this one. The AVC you list in comment #5 is the one > the selinux bug is supposed to fix. Okay, thanks. I will re-test this bug when get feedback from bug 999926.
Blocked by bug 999926.
*** This bug has been marked as a duplicate of bug 999926 ***