All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Krowiak <akrowiak@linux.ibm.com>
To: Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	pmorel@linux.ibm.com, Cornelia Huck <cohuck@redhat.com>
Cc: Tony Krowiak <akrowiak@linux.vnet.ibm.com>,
	linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
	kvm@vger.kernel.org, freude@de.ibm.com, schwidefsky@de.ibm.com,
	heiko.carstens@de.ibm.com, kwankhede@nvidia.com,
	bjsdjshi@linux.vnet.ibm.com, pbonzini@redhat.com,
	alex.williamson@redhat.com, pmorel@linux.vnet.ibm.com,
	alifm@linux.vnet.ibm.com, mjrosato@linux.vnet.ibm.com,
	jjherne@linux.vnet.ibm.com, thuth@redhat.com,
	pasic@linux.vnet.ibm.com, berrange@redhat.com,
	fiuczy@linux.vnet.ibm.com, buendgen@de.ibm.com,
	frankja@linux.ibm.com
Subject: Re: [PATCH v9 12/22] s390: vfio-ap: sysfs interfaces to configure control domains
Date: Wed, 22 Aug 2018 15:16:19 -0400	[thread overview]
Message-ID: <9ef5fcb9-02e0-88e3-007c-eedb14e6db80@linux.ibm.com> (raw)
In-Reply-To: <dbb74c9c-93ab-ed05-fad4-ea2aa5f2b71e@linux.ibm.com>

On 08/22/2018 01:11 PM, Halil Pasic wrote:
>
>
> On 08/22/2018 05:48 PM, Christian Borntraeger wrote:
>> On 08/22/2018 05:34 PM, Pierre Morel wrote:
>>> On 22/08/2018 17:11, Christian Borntraeger wrote:
>>>>
>>>>
>>>> On 08/22/2018 01:03 PM, Pierre Morel wrote:
>>>>>> That's interesting.
>>>>>>
>>>>>>> IMHO this quote is quite a half-full half-empty cup one:
>>>>>>> * it mandates the set of usage domains is a subset of the set
>>>>>>> of the control domains, but
>>>>>>> * it speaks of independent controls, namely about the 'usage 
>>>>>>> domain index'
>>>>>>> and the 'control domain index list' and makes the enforcement of 
>>>>>>> the rule
>>>>>>> a job of the administrator (instead of codifying it in the 
>>>>>>> controls).
>>>>>> I'm wondering if a configuration with a usage domain that is not 
>>>>>> also a
>>>>>> control domain is rejected outright? Anybody tried that? :)
>>>>>
>>>>> Yes, and no it is not.
>>>>> We can use a queue (usage domain) to a AP card for SHA-512 or RSA 
>>>>> without
>>>>> having to define the queue as a control domain.
>>>>
>>>> Huh? My HMC allows to add a domain as
>>>> - control only domain
>>>> - control and usage domain.
>>>>
>>>> But I am not able to configure a usage-only domain for my LPAR. 
>>>> That seems to match
>>>> the current code, no?
>>>>
>>>
>>> Yes, it may not be configurable by the HMC but if we start a guest 
>>> with no control domain it is not a problem to access the hardware 
>>> through the usage domain.
>>>
>>> I tested this a long time ago, but tested again today to be sure on 
>>> my LPAR.
>>>
>>> AFAIU adding a control only domain and a control and usage domain
>>> allows say:
>>> control and usage domain 1
>>> control only domain 2
>>>
>>> Allow to send a message to domain 2 using queue 1
>>>
>>> Allow also to send a domain modifying message to domain 1 using queue 1
>>>
>>> control domain are domain which are controlled
>>
>> So you have changed the code to not automatically make a usage domain a
>> control domain in the bitfield (and you could still use it as a usage
>> domain). Correct?
>
> I tested basically the same yesterday, with the same results.
>
>> I think this is probably expected. the "usage implies control" seems to
>> be a convention implemented by HMC (lpar) and z/VM but millicode offers
>> the bits to have usage-only domains. As LPAR and z/VM will always enable
>> any usage-domain to also be a control domain we should do the same.
>
> I'm fine either way, but slightly prefer higher level management software
> and not the kernel accommodating this convention.
>
> Please consider a quote from Harald's mail in another sub-thread
>
>
> """
> ... about control domains
>
> Talked with the s390 firmware guys. The convention that the control 
> domain
> mask is a superset of the usage domain mask is only true for 1st level 
> guests.
>
> It is absolutely valid to run a kvm guest with restricted control domain
> mask bitmap in the CRYCB. It is valid to have an empty control domain 
> mask
> and the guest should be able to run crypto CPRBs on the usage 
> domain(s) without
> any problems. However, nobody has tried this.
> """
>
> I'm yet to get an explanation why was this convention established in 
> the first
> place. And I can not figure it out myself. For me a setup where I know 
> that
> the domains used by some guest can not be modified by the same guest 
> makes
> perfect sense. If I try to think in analogies, I kind of compare 
> modification
> (that is control domain) with write access, and usage (that is usage 
> domain)
> with read access to, let's say a regular file. For me, all options 
> (rw, r, and w)
> do make sense, and if I had to pick the one that makes the least sense 
> I would
> pick write only. The convention is in these terms making read-only 
> illegal. But
> should 'usage only domains' ever get identified as something somebody 
> wants to do
> we can just add an attribute for that. So I'm fine either way.

One of the things I suggested in a private conversation with Christian 
earlier
today was to provide an additional rw sysfs attribute - a boolean - that 
indicates
whether all usage domains should also be control domains. The default 
could be
true. This would allow one to configure guests with usage-only domains 
as well
as satisfy the convention.

>
>
> Still I find the commit message for this patch, the implementation of
> assign_control_domain() and also the documentation slightly misleading 
> regarding
> what does one get from assign_domain.



>
>
> Regards,
> Halil
>
>
>
>
>
>>
>>
>>> It seems that the HMC enforce the LPARs to have access to their 
>>> usage domain (AFAIU from Harald)
>>


  reply	other threads:[~2018-08-22 19:26 UTC|newest]

Thread overview: 141+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-13 21:47 [PATCH v9 00/22] guest dedicated crypto adapters Tony Krowiak
2018-08-13 21:47 ` [PATCH v9 01/22] s390/zcrypt: Add ZAPQ inline function Tony Krowiak
2018-08-13 21:47 ` [PATCH v9 02/22] s390/zcrypt: Review inline assembler constraints Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 03/22] s390/zcrypt: Show load of cards and queues in sysfs Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 04/22] s390/zcrypt: Integrate ap_asm.h into include/asm/ap.h Tony Krowiak
2018-08-14  8:43   ` Cornelia Huck
2018-08-17 13:18     ` Tony Krowiak
2018-08-17 13:27       ` Cornelia Huck
2018-08-17 19:09         ` Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 05/22] KVM: s390: vsie: simulate VCPU SIE entry/exit Tony Krowiak
2018-08-14  8:50   ` Cornelia Huck
2018-08-14 12:46     ` Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 06/22] KVM: s390: introduce and use KVM_REQ_VSIE_RESTART Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 07/22] KVM: s390: refactor crypto initialization Tony Krowiak
2018-08-20 16:41   ` David Hildenbrand
2018-08-20 20:33     ` Tony Krowiak
2018-08-20 20:41       ` David Hildenbrand
2018-08-21 13:29         ` Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 08/22] s390: vfio-ap: base implementation of VFIO AP device driver Tony Krowiak
2018-08-14 10:42   ` Cornelia Huck
2018-08-14 23:30     ` Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 09/22] s390: vfio-ap: register matrix device with VFIO mdev framework Tony Krowiak
2018-08-14 11:19   ` Cornelia Huck
2018-08-15 16:51     ` Tony Krowiak
2018-08-16 16:24     ` Tony Krowiak
2018-08-17  8:43       ` Cornelia Huck
2018-08-17 19:02         ` Tony Krowiak
2018-09-06  8:49   ` Pierre Morel
2018-09-10 13:38     ` Tony Krowiak
2018-09-10 21:58       ` Halil Pasic
2018-08-13 21:48 ` [PATCH v9 10/22] s390: vfio-ap: sysfs interfaces to configure adapters Tony Krowiak
2018-08-15  9:52   ` Cornelia Huck
2018-08-15 16:59     ` Tony Krowiak
2018-08-16  7:30       ` Cornelia Huck
2018-08-17 13:23         ` Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 11/22] s390: vfio-ap: sysfs interfaces to configure domains Tony Krowiak
2018-08-15 12:05   ` Cornelia Huck
2018-08-15 17:00     ` Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 12/22] s390: vfio-ap: sysfs interfaces to configure control domains Tony Krowiak
2018-08-20 14:23   ` Cornelia Huck
2018-08-20 16:43     ` Halil Pasic
2018-08-20 17:41     ` Tony Krowiak
2018-08-21 15:25       ` Cornelia Huck
2018-08-21 17:07         ` Tony Krowiak
2018-08-21 23:18           ` Halil Pasic
2018-08-22  9:42             ` Cornelia Huck
2018-08-22 10:43               ` Halil Pasic
2018-08-22 11:03               ` Pierre Morel
2018-08-22 15:11                 ` Christian Borntraeger
2018-08-22 15:34                   ` Pierre Morel
2018-08-22 15:48                     ` Christian Borntraeger
2018-08-22 15:53                       ` Pierre Morel
2018-08-22 17:11                       ` Halil Pasic
2018-08-22 19:16                         ` Tony Krowiak [this message]
2018-08-23  9:26                           ` Halil Pasic
2018-08-23 10:41                             ` Pierre Morel
2018-08-23 10:25                           ` Cornelia Huck
2018-08-23 10:43                             ` Pierre Morel
2018-08-23 11:31                               ` Cornelia Huck
2018-08-23 11:44                                 ` Pierre Morel
2018-08-23 14:16                             ` Tony Krowiak
2018-08-27  8:33                               ` Cornelia Huck
2018-08-27 13:47                                 ` Tony Krowiak
2018-08-27 13:51                                   ` Cornelia Huck
2018-08-27 15:39                                     ` Halil Pasic
2018-09-10 13:27                                     ` Tony Krowiak
2018-08-22 15:18               ` Tony Krowiak
2018-08-22 14:31             ` Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 13/22] s390: vfio-ap: sysfs interface to view matrix mdev matrix Tony Krowiak
2018-08-20 14:08   ` Cornelia Huck
2018-08-20 14:08     ` Cornelia Huck
2018-09-12 17:01     ` Tony Krowiak
2018-09-13  9:12       ` Halil Pasic
2018-08-13 21:48 ` [PATCH v9 14/22] KVM: s390: interfaces to clear CRYCB masks Tony Krowiak
2018-08-15 13:10   ` Cornelia Huck
2018-08-15 17:55     ` Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 15/22] s390: vfio-ap: implement mediated device open callback Tony Krowiak
2018-08-15 16:08   ` Cornelia Huck
2018-08-15 18:21     ` Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 16/22] s390: vfio-ap: implement VFIO_DEVICE_GET_INFO ioctl Tony Krowiak
2018-08-20 14:24   ` Cornelia Huck
2018-08-13 21:48 ` [PATCH v9 17/22] s390: vfio-ap: zeroize the AP queues Tony Krowiak
2018-08-15 16:24   ` Cornelia Huck
2018-08-15 20:36     ` Tony Krowiak
2018-08-17  9:34       ` Cornelia Huck
2018-08-13 21:48 ` [PATCH v9 18/22] s390: vfio-ap: implement VFIO_DEVICE_RESET ioctl Tony Krowiak
2018-08-15 16:38   ` Cornelia Huck
2018-08-15 21:05     ` Tony Krowiak
2018-08-17  9:38       ` Cornelia Huck
2018-08-17 19:03         ` Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 19/22] KVM: s390: Clear Crypto Control Block when using vSIE Tony Krowiak
2018-08-13 21:48 ` [PATCH v9 20/22] KVM: s390: Handling of Cypto control block in VSIE Tony Krowiak
2018-08-21  8:30   ` David Hildenbrand
2018-08-13 21:48 ` [PATCH v9 21/22] KVM: s390: CPU model support for AP virtualization Tony Krowiak
2018-08-20 14:26   ` Cornelia Huck
2018-08-21  8:03   ` David Hildenbrand
2018-08-22 11:19   ` David Hildenbrand
2018-08-22 11:24     ` David Hildenbrand
2018-08-22 20:16       ` Tony Krowiak
2018-08-23  7:44         ` David Hildenbrand
2018-08-23 10:00           ` Halil Pasic
2018-08-23 10:28             ` David Hildenbrand
2018-08-23 11:10               ` Pierre Morel
2018-08-23 11:12                 ` David Hildenbrand
2018-08-23 12:47                   ` Pierre Morel
2018-08-23 13:22                     ` Halil Pasic
2018-08-23 13:38                       ` David Hildenbrand
2018-08-23 14:59                         ` Pierre Morel
2018-08-23 17:35                           ` Tony Krowiak
2018-08-23 17:40                             ` David Hildenbrand
2018-08-24 10:28                               ` Halil Pasic
2018-08-22 14:33     ` Pierre Morel
2018-08-22 15:04       ` David Hildenbrand
2018-08-22 15:50         ` Pierre Morel
2018-08-22 16:57           ` David Hildenbrand
2018-08-22 21:05             ` Tony Krowiak
2018-08-23  7:42               ` David Hildenbrand
2018-08-23  7:42                 ` David Hildenbrand
2018-08-22 20:54     ` Tony Krowiak
2018-08-23  7:48       ` David Hildenbrand
2018-08-23  8:24         ` Cornelia Huck
2018-09-12 17:42           ` Tony Krowiak
2018-09-17  7:57             ` David Hildenbrand
2018-08-23  8:26         ` Pierre Morel
2018-08-13 21:48 ` [PATCH v9 22/22] s390: doc: detailed specifications " Tony Krowiak
2018-08-20 16:03   ` Cornelia Huck
2018-08-20 20:16     ` Tony Krowiak
2018-08-21 16:13       ` Cornelia Huck
2018-08-21 16:13         ` Cornelia Huck
2018-08-21 19:21         ` Tony Krowiak
2018-08-21 18:54       ` Halil Pasic
2018-08-22  7:38         ` Cornelia Huck
2018-08-21  9:00     ` Harald Freudenberger
2018-08-21 15:53       ` Cornelia Huck
2018-08-22  7:04         ` Harald Freudenberger
2018-08-22 10:09           ` Cornelia Huck
2018-08-22 10:13         ` Harald Freudenberger
2018-08-22 10:45           ` Halil Pasic
2018-08-22 10:19 ` [PATCH v9 00/22] guest dedicated crypto adapters Cornelia Huck
2018-08-22 10:58   ` Pierre Morel
2018-08-22 18:59   ` Tony Krowiak

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=9ef5fcb9-02e0-88e3-007c-eedb14e6db80@linux.ibm.com \
    --to=akrowiak@linux.ibm.com \
    --cc=akrowiak@linux.vnet.ibm.com \
    --cc=alex.williamson@redhat.com \
    --cc=alifm@linux.vnet.ibm.com \
    --cc=berrange@redhat.com \
    --cc=bjsdjshi@linux.vnet.ibm.com \
    --cc=borntraeger@de.ibm.com \
    --cc=buendgen@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=fiuczy@linux.vnet.ibm.com \
    --cc=frankja@linux.ibm.com \
    --cc=freude@de.ibm.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=jjherne@linux.vnet.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwankhede@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=mjrosato@linux.vnet.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=pasic@linux.vnet.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=pmorel@linux.ibm.com \
    --cc=pmorel@linux.vnet.ibm.com \
    --cc=schwidefsky@de.ibm.com \
    --cc=thuth@redhat.com \
    /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.