On 01/18/2013 05:55 PM, Stefan Berger wrote:
> On 01/18/2013 07:14 PM, Stefan Berger wrote:
>> On 01/18/2013 01:18 PM, Eric Blake wrote:
>>> On 01/18/2013 09:02 AM, Stefan Berger wrote:
>> When libvirt forks, the child process inherits the file descriptors,
>> among them those of the taps and /dev/tpm0. The subsequent execve
>> keeps the file descriptor open. QEMU then reads the TPM file
>> descriptor from the command line into above TPMInfo->fd. This also
>> works with 'exec 100<>/dev/tpm0' via command line.
>> Similar to the SELinux labeling of all the other file descriptors I
>> also use the one for the TPM device for SELinux labeling.
>>
> I have to correct this: The libvirt patches for this use path= on the
> command line and also apply the SELinux label on the path rather than
> the fd. So, this patch then adds file descriptor passing support to have
> equivalent functionality to other devices.

You _still_ don't need extra handling for fd passing; neither on the
command line, nor in QMP.  Remember, we added --add-fd to the command
line, precisely so we could use:

qemu -add-fd set=1,fd=100 -tpmdev passthrough,path=/dev/fdset/1 \
  100<>/dev/tpm0

See - by making fd passing universally accessible under pathname
processing, we've made it easier to add new commands that don't have to
special-case fd handling.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to