All of lore.kernel.org
 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 vTPM detaching issue 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 \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.