From: Cornelia Huck <cohuck@redhat.com>
To: David Hildenbrand <david@redhat.com>
Cc: KVM <kvm@vger.kernel.org>,
linux-s390@vger.kernel.org,
Christian Borntraeger <borntraeger@de.ibm.com>
Subject: Re: [PATCH RFC 1/2] KVM: s390 vsie: use READ_ONCE to access some SCB fields
Date: Tue, 23 Jan 2018 13:26:58 +0100 [thread overview]
Message-ID: <20180123132658.458271fc.cohuck@redhat.com> (raw)
In-Reply-To: <20180116171526.12343-2-david@redhat.com>
On Tue, 16 Jan 2018 18:15:25 +0100
David Hildenbrand <david@redhat.com> wrote:
> Another VCPU might try to modify the SCB while we are creating the
> shadow SCB. In general this is no problem - unless the compiler decides
> to not load values once, but e.g. twice.
>
> For us, this is only relevant when checking/working with such values.
> E.g. the prefix value, the mso, state of transactional execution and
> addresses of satellite blocks.
>
> E.g. if we blindly forwards values (e.g. general purpose registers or
s/forwards/forward/
> execution controls after masking), we don't care.
>
> Leaving unpin_blocks() untouched for now, will handle it separatly.
>
> The worst thing right now that I can see would be a missed prefix
> un/remap (mso, prefix, tx) or using wrong guest addresses. Nothing
> critical, but let's try to avoid unpredictable behavior.
>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
> arch/s390/kvm/vsie.c | 50 +++++++++++++++++++++++++++++++-------------------
> 1 file changed, 31 insertions(+), 19 deletions(-)
>
> diff --git a/arch/s390/kvm/vsie.c b/arch/s390/kvm/vsie.c
> index 5d6ae0326d9e..79ea444a0534 100644
> --- a/arch/s390/kvm/vsie.c
> +++ b/arch/s390/kvm/vsie.c
> @@ -28,7 +28,11 @@ struct vsie_page {
> * the same offset as that in struct sie_page!
> */
> struct mcck_volatile_info mcck_info; /* 0x0200 */
> - /* the pinned originial scb */
> + /*
> + * The pinned originial scb. Be aware that other VCPUs can modify
s/originial/original/
(as that line is touched anyway)
> + * it while we read from it. Values that are used for conditions or
> + * are reused conditionally, should be accessed via READ_ONCE.
> + */
> struct kvm_s390_sie_block *scb_o; /* 0x0218 */
> /* the shadow gmap in use by the vsie_page */
> struct gmap *gmap; /* 0x0220 */
Acked-by: Cornelia Huck <cohuck@redhat.com>
next prev parent reply other threads:[~2018-01-23 12:26 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-16 17:15 [PATCH RFC 0/2] KVM: s390: vsie: protect from VCPUS modifying the SCB David Hildenbrand
2018-01-16 17:15 ` [PATCH RFC 1/2] KVM: s390 vsie: use READ_ONCE to access some SCB fields David Hildenbrand
2018-01-23 11:15 ` Christian Borntraeger
2018-01-23 12:26 ` Cornelia Huck [this message]
2018-01-16 17:15 ` [PATCH RFC 2/2] KVM: s390: vsie: store guest addresses of satellite blocks in vsie_page David Hildenbrand
2018-01-23 11:18 ` Christian Borntraeger
2018-01-23 12:29 ` Cornelia Huck
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=20180123132658.458271fc.cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=david@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.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.