[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] vTPM detaching issue



On 14/06/2016 10:29, Xu, Quan wrote:
> On June 13, 2016 11:11 PM, Andrea Genuise <and.genuise@xxxxxxxxx> wrote:
>> I'm not sure if this is a bug or my fault, but when I create a domain
>> with a vTPM attached, detaching it sometimes causes the following error
>> to be thrown (I post the command sequence):
>>
> I am afraid this is not a bug. As 'xl vtpm-detach' is to - destroy a domain's 
> virtual TPM device.
> Based on your record, ...
>
>> [root@localhost ~]# xl create /etc/xen/vtpmmgr-stubdom
>> Parsing config from /etc/xen/vtpmmgr-stubdom
>> [root@localhost ~]# xl create /etc/xen/vtpm1
>> Parsing config from /etc/xen/vtpm1
>> [root@localhost ~]# xl create /etc/xen/dom1_ima
>> Parsing config from /etc/xen/dom1_ima
>> [root@localhost ~]# xl vtpm-detach dom1 vtpm1
> ... here,  you have detached vtpm on success.
>
>> [root@localhost ~]# xl destroy dom1
>> [root@localhost ~]# xl vtpm-detach vtpm1 vtpmmgr
> IMO, vtpm-detach doesn't support between vtpm stubdom and vtpmmgr stubdom.
>
> Thanks
> Quan Xu
This was just a case, see my new record below.


On 14/06/2016 11:15, Wei Liu wrote:
> On Mon, Jun 13, 2016 at 05:10:35PM +0200, Andrea Genuise wrote:
>> I'm not sure if this is a bug or my fault, but when I create a domain
>> with a vTPM attached, detaching it sometimes causes the following error
>> to be thrown (I post the command sequence):
>>
>> [root@localhost ~]# xl create /etc/xen/vtpmmgr-stubdom
>> Parsing config from /etc/xen/vtpmmgr-stubdom
>> [root@localhost ~]# xl create /etc/xen/vtpm1
>> Parsing config from /etc/xen/vtpm1
>> [root@localhost ~]# xl create /etc/xen/dom1_ima
>> Parsing config from /etc/xen/dom1_ima
>> [root@localhost ~]# xl vtpm-detach dom1 vtpm1
>> [root@localhost ~]# xl destroy dom1
>> [root@localhost ~]# xl vtpm-detach vtpm1 vtpmmgr
>> libxl: error: libxl_device.c:952:device_backend_callback: unable to
>> remove device with path /local/domain/18/backend/vtpm/19/0
>> libxl: error: libxl.c:1995:device_addrm_aocomplete: unable to remove
>> vtpm with id 0
>> libxl_device_vtpm_remove failed.
>>
> Can you try xl -vvv vtpm-detach to get more information?
>
> Also CC VTPM maintainers.

I tried it, here is the output:

[root@localhost ~]# xl create /etc/xen/vtpmmgr-stubdom
Parsing config from /etc/xen/vtpmmgr-stubdom
[root@localhost ~]# xl create /etc/xen/vtpm1
Parsing config from /etc/xen/vtpm1
[root@localhost ~]# xl create /etc/xen/dom1_ima
Parsing config from /etc/xen/dom1_ima
[root@localhost ~]# xl -vvv vtpm-detach dom1 vtpm1
libxl: debug: libxl.c:4184:libxl_device_vtpm_remove: ao 0x1c4bb60: create:
how=(nil) callback=(nil) poller=0x1c4bda0
libxl: debug: libxl_event.c:639:libxl__ev_xswatch_register: watch
w=0x1c4c1f0
wpath=/local/domain/748/backend/vtpm/749/0/state token=3/0: register
slotnum=3
libxl: debug: libxl.c:4184:libxl_device_vtpm_remove: ao 0x1c4bb60:
inprogress:
poller=0x1c4bda0, flags=i
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0x1c4c1f0
wpath=/local/domain/748/backend/vtpm/749/0/state token=3/0: event
epath=/local/domain/748/backend/vtpm/749/0/state
libxl: debug: libxl_event.c:884:devstate_callback: backend
/local/domain/748/backend/vtpm/749/0/state wanted state 6 still waiting
state 5
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0x1c4c1f0
wpath=/local/domain/748/backend/vtpm/749/0/state token=3/0: event
epath=/local/domain/748/backend/vtpm/749/0/state
libxl: debug: libxl_event.c:884:devstate_callback: backend
/local/domain/748/backend/vtpm/749/0/state wanted state 6 still waiting
state 2
libxl: debug: libxl_aoutils.c:88:xswait_timeout_callback: backend
/local/domain/748/backend/vtpm/749/0/state (hoping for state change to 6):
xswait timeout (path=/local/domain/748/backend/vtpm/749/0/state)
libxl: debug: libxl_event.c:677:libxl__ev_xswatch_deregister: watch
w=0x1c4c1f0 wpath=/local/domain/748/backend/vtpm/749/0/state token=3/0:
deregister slotnum=3
libxl: debug: libxl_event.c:867:devstate_callback: backend
/local/domain/748/backend/vtpm/749/0/state wanted state 6  timed out
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0x1c4c1f0: deregister unregistered
libxl: debug: libxl_device.c:937:device_backend_callback: calling
device_backend_cleanup
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0x1c4c1f0: deregister unregistered
libxl: debug: libxl_device.c:943:device_backend_callback: Timeout reached,
initiating forced remove
libxl: debug: libxl_event.c:639:libxl__ev_xswatch_register: watch
w=0x1c4c1f0 wpath=/local/domain/748/backend/vtpm/749/0/state token=3/1:
register slotnum=3
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0x1c4c1f0
wpath=/local/domain/748/backend/vtpm/749/0/state token=3/1: event
epath=/local/domain/748/backend/vtpm/749/0/state
libxl: debug: libxl_event.c:884:devstate_callback: backend
/local/domain/748/backend/vtpm/749/0/state wanted state 6 still waiting
state 5
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0x1c4c1f0
wpath=/local/domain/748/backend/vtpm/749/0/state token=3/1: event
epath=/local/domain/748/backend/vtpm/749/0/state
libxl: debug: libxl_event.c:872:devstate_callback: backend
/local/domain/748/backend/vtpm/749/0/state wanted state 6 but it was removed
libxl: debug: libxl_event.c:677:libxl__ev_xswatch_deregister: watch
w=0x1c4c1f0
wpath=/local/domain/748/backend/vtpm/749/0/state token=3/1: deregister
slotnum=3
libxl: debug: libxl_device.c:937:device_backend_callback: calling
device_backend_cleanup
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0x1c4c1f0: deregister unregistered
libxl: error: libxl_device.c:952:device_backend_callback: unable to remove
device with path /local/domain/748/backend/vtpm/749/0
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0x1c4c2f0:
deregister unregistered
libxl: error: libxl.c:1995:device_addrm_aocomplete: unable to remove
vtpm with
id 0
libxl: debug: libxl_event.c:1874:libxl__ao_complete: ao 0x1c4bb60: complete,
rc=-6
libxl: debug: libxl_event.c:545:watchfd_callback: watch
epath=/local/domain/748/backend/vtpm/749/0/state token=3/1: empty slot
libxl: debug: libxl_event.c:1843:libxl__ao__destroy: ao 0x1c4bb60: destroy
libxl_device_vtpm_remove failed.
xc: debug: hypercall buffer: total allocations:24 total releases:24
xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
xc: debug: hypercall buffer: cache current size:2
xc: debug: hypercall buffer: cache hits:15 misses:2 toobig:7
[root@localhost ~]# xl destroy dom1
[root@localhost ~]# xl -vvv vtpm-detach vtpm1 vtpmmgr
libxl: debug: libxl.c:4184:libxl_device_vtpm_remove: ao 0x138ab60: create:
how=(nil) callback=(nil) poller=0x138ada0
libxl: debug: libxl_event.c:639:libxl__ev_xswatch_register: watch
w=0x138b1f0
wpath=/local/domain/747/backend/vtpm/748/0/state token=3/0: register
slotnum=3
libxl: debug: libxl.c:4184:libxl_device_vtpm_remove: ao 0x138ab60:
inprogress:
poller=0x138ada0, flags=i
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0x138b1f0
wpath=/local/domain/747/backend/vtpm/748/0/state token=3/0: event
epath=/local/domain/747/backend/vtpm/748/0/state
libxl: debug: libxl_event.c:884:devstate_callback: backend
/local/domain/747/backend/vtpm/748/0/state wanted state 6 still waiting
state 5
libxl: debug: libxl_aoutils.c:88:xswait_timeout_callback: backend
/local/domain/747/backend/vtpm/748/0/state (hoping for state change to 6):
xswait timeout (path=/local/domain/747/backend/vtpm/748/0/state)
libxl: debug: libxl_event.c:677:libxl__ev_xswatch_deregister: watch
w=0x138b1f0
wpath=/local/domain/747/backend/vtpm/748/0/state token=3/0: deregister
slotnum=3
libxl: debug: libxl_event.c:867:devstate_callback: backend
/local/domain/747/backend/vtpm/748/0/state wanted state 6  timed out
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0x138b1f0:
deregister unregistered
libxl: debug: libxl_device.c:937:device_backend_callback: calling
device_backend_cleanup
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0x138b1f0:
deregister unregistered
libxl: debug: libxl_device.c:943:device_backend_callback: Timeout reached,
initiating forced remove
libxl: debug: libxl_event.c:639:libxl__ev_xswatch_register: watch
w=0x138b1f0
wpath=/local/domain/747/backend/vtpm/748/0/state token=3/1: register
slotnum=3
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0x138b1f0
wpath=/local/domain/747/backend/vtpm/748/0/state token=3/1: event
epath=/local/domain/747/backend/vtpm/748/0/state
libxl: debug: libxl_event.c:884:devstate_callback: backend
/local/domain/747/backend/vtpm/748/0/state wanted state 6 still waiting
state 5
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0x138b1f0
wpath=/local/domain/747/backend/vtpm/748/0/state token=3/1: event
epath=/local/domain/747/backend/vtpm/748/0/state
libxl: debug: libxl_event.c:880:devstate_callback: backend
/local/domain/747/backend/vtpm/748/0/state wanted state 6 ok
libxl: debug: libxl_event.c:677:libxl__ev_xswatch_deregister: watch
w=0x138b1f0
wpath=/local/domain/747/backend/vtpm/748/0/state token=3/1: deregister
slotnum=3
libxl: debug: libxl_device.c:937:device_backend_callback: calling
device_backend_cleanup
libxl: debug: libxl_event.c:691:libxl__ev_xswatch_deregister: watch
w=0x138b1f0:
deregister unregistered
libxl: debug: libxl_device.c:992:device_hotplug: Backend domid 747, domid 0,
assuming driver domains
libxl: debug: libxl_event.c:639:libxl__ev_xswatch_register: watch
w=0x138b2f0
wpath=/local/domain/747/backend/vtpm/748/0 token=3/2: register slotnum=3
libxl: debug: libxl_event.c:551:watchfd_callback: watch w=0x138b2f0
epath=/local/domain/747/backend/vtpm/748/0/state token=3/1: counter != 2
libxl: debug: libxl_event.c:576:watchfd_callback: watch w=0x138b2f0
wpath=/local/domain/747/backend/vtpm/748/0 token=3/2: event
epath=/local/domain/747/backend/vtpm/748/0
libxl: debug: libxl_event.c:677:libxl__ev_xswatch_deregister: watch
w=0x138b2f0
wpath=/local/domain/747/backend/vtpm/748/0 token=3/2: deregister slotnum=3
libxl: debug: libxl_event.c:1874:libxl__ao_complete: ao 0x138ab60:
complete, rc=0
libxl: debug: libxl_event.c:1843:libxl__ao__destroy: ao 0x138ab60: destroy
xc: debug: hypercall buffer: total allocations:22 total releases:22
xc: debug: hypercall buffer: current allocations:0 maximum allocations:2
xc: debug: hypercall buffer: cache current size:2
xc: debug: hypercall buffer: cache hits:14 misses:2 toobig:6
[root@localhost ~]# xl destroy vtpm1
[root@localhost ~]# xl destroy vtpmmgr

Thanks,
Andrea Genuise

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.