From: "Michael S. Tsirkin" <mst@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Radim Krčmář" <rkrcmar@redhat.com>,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
stable@vger.kernel.org
Subject: Re: [PATCH] kvm: x86: disable KVM_FAST_MMIO_BUS
Date: Thu, 17 Aug 2017 18:15:56 +0300 [thread overview]
Message-ID: <20170817180129-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <2e42e64c-f31d-5ccd-2357-1a859cec5b5b@redhat.com>
On Thu, Aug 17, 2017 at 11:00:01AM +0200, Paolo Bonzini wrote:
> >> and also not a page table walk---just in case.
> >
> > I still don't get it, sorry. Let's assume for the sake of argument
> > that it's a PT walk causing the MMIO access. Just why do you think
> > that it makes sense to skip the instruction that caused the walk?
>
> I think it doesn't. I think in that case it's better to skip the fast
> write and proceed with full emulation.
Right. So my argument is that fast mmio is used for paravirtualization
exclusively. Thus someone doing anything that isn't a memory write to
trigger it gets to keep both pieces.
I get it that even writes don't work in some nested virt setups, and
this seems worth fixing, and I get it that we have inadvertently relied
on an undocumented behaviour.
I would like to understand whether you believe that on bare metal and
when accessing MMIO using writes exclusively, and after checking the
address matches one of the paravirtualized device, there's still a real
chance length is invalid, or is it more a question of missing
documentation.
--
MST
next prev parent reply other threads:[~2017-08-17 15:16 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-16 11:22 [PATCH] kvm: x86: disable KVM_FAST_MMIO_BUS Paolo Bonzini
2017-08-16 12:07 ` Radim Krčmář
2017-08-16 13:37 ` Paolo Bonzini
2017-08-16 14:06 ` Michael S. Tsirkin
2017-08-16 14:17 ` Paolo Bonzini
2017-08-17 8:15 ` David Hildenbrand
2017-08-16 12:58 ` Michael S. Tsirkin
2017-08-16 13:05 ` Paolo Bonzini
2017-08-16 13:16 ` Michael S. Tsirkin
2017-08-16 13:30 ` Paolo Bonzini
2017-08-16 14:03 ` Michael S. Tsirkin
2017-08-16 16:50 ` Michael S. Tsirkin
2017-08-16 17:19 ` Paolo Bonzini
2017-08-16 19:03 ` Radim Krčmář
2017-08-16 19:59 ` Michael S. Tsirkin
2017-08-16 21:25 ` Paolo Bonzini
2017-08-16 22:31 ` Michael S. Tsirkin
2017-08-17 9:00 ` Paolo Bonzini
2017-08-17 12:14 ` Paolo Bonzini
2017-08-17 13:23 ` Radim Krčmář
2017-08-17 15:15 ` Michael S. Tsirkin [this message]
2017-08-17 13:51 ` Radim Krčmář
2017-08-17 15:27 ` Michael S. Tsirkin
2017-08-16 19:47 ` Michael S. Tsirkin
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=20170817180129-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=rkrcmar@redhat.com \
--cc=stable@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox