xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Andrea Genuise <and.genuise@gmail.com>
To: Wei Liu <wei.liu2@citrix.com>
Cc: dgdegra@tycho.nsa.gov, quan.xu@intel.com, xen-devel@lists.xen.org
Subject: Re: vTPM detaching issue
Date: Tue, 14 Jun 2016 12:32:19 +0200	[thread overview]
Message-ID: <575FDD33.60704@gmail.com> (raw)
In-Reply-To: <20160614091539.GF25425@citrix.com>

On 14/06/2016 10:29, Xu, Quan wrote:
> On June 13, 2016 11:11 PM, Andrea Genuise <and.genuise@gmail.com> 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@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2016-06-14 10:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-13 15:10 Andrea Genuise
2016-06-14  8:29 ` Xu, Quan
2016-06-14  9:15 ` Wei Liu
2016-06-14 10:32   ` Andrea Genuise [this message]
2016-06-15 11:48     ` Wei Liu
2016-06-29  7:51       ` FW: " Xu, Quan
2016-06-29 15:28         ` Daniel De Graaf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=575FDD33.60704@gmail.com \
    --to=and.genuise@gmail.com \
    --cc=dgdegra@tycho.nsa.gov \
    --cc=quan.xu@intel.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    --subject='Re: vTPM detaching issue' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).