From: Cornelia Huck <cohuck@redhat.com> To: "Michael S. Tsirkin" <mst@redhat.com> Cc: Pierre Morel <pmorel@linux.ibm.com>, linux-kernel@vger.kernel.org, pasic@linux.ibm.com, borntraeger@de.ibm.com, frankja@linux.ibm.com, jasowang@redhat.com, kvm@vger.kernel.org, linux-s390@vger.kernel.org, virtualization@lists.linux-foundation.org, thomas.lendacky@amd.com, david@gibson.dropbear.id.au, linuxram@us.ibm.com, heiko.carstens@de.ibm.com, gor@linux.ibm.com Subject: Re: [PATCH v3 1/1] s390: virtio: let arch accept devices without IOMMU feature Date: Mon, 29 Jun 2020 18:05:26 +0200 [thread overview] Message-ID: <20200629180526.41d0732b.cohuck@redhat.com> (raw) In-Reply-To: <20200629115651-mutt-send-email-mst@kernel.org> On Mon, 29 Jun 2020 11:57:14 -0400 "Michael S. Tsirkin" <mst@redhat.com> wrote: > On Wed, Jun 17, 2020 at 12:43:57PM +0200, Pierre Morel wrote: > > An architecture protecting the guest memory against unauthorized host > > access may want to enforce VIRTIO I/O device protection through the > > use of VIRTIO_F_IOMMU_PLATFORM. > > > > Let's give a chance to the architecture to accept or not devices > > without VIRTIO_F_IOMMU_PLATFORM. > > > > Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> > > Acked-by: Jason Wang <jasowang@redhat.com> > > Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> > > --- > > arch/s390/mm/init.c | 6 ++++++ > > drivers/virtio/virtio.c | 22 ++++++++++++++++++++++ > > include/linux/virtio.h | 2 ++ > > 3 files changed, 30 insertions(+) > > @@ -179,6 +194,13 @@ int virtio_finalize_features(struct virtio_device *dev) > > if (!virtio_has_feature(dev, VIRTIO_F_VERSION_1)) > > return 0; > > > > + if (arch_needs_virtio_iommu_platform(dev) && > > + !virtio_has_feature(dev, VIRTIO_F_IOMMU_PLATFORM)) { > > + dev_warn(&dev->dev, > > + "virtio: device must provide VIRTIO_F_IOMMU_PLATFORM\n"); > > + return -ENODEV; > > + } > > + > > virtio_add_status(dev, VIRTIO_CONFIG_S_FEATURES_OK); > > status = dev->config->get_status(dev); > > if (!(status & VIRTIO_CONFIG_S_FEATURES_OK)) { > > Well don't you need to check it *before* VIRTIO_F_VERSION_1, not after? But it's only available with VERSION_1 anyway, isn't it? So it probably also needs to fail when this feature is needed if VERSION_1 has not been negotiated, I think.
WARNING: multiple messages have this Message-ID (diff)
From: Cornelia Huck <cohuck@redhat.com> To: "Michael S. Tsirkin" <mst@redhat.com> Cc: gor@linux.ibm.com, linux-s390@vger.kernel.org, frankja@linux.ibm.com, Pierre Morel <pmorel@linux.ibm.com>, thomas.lendacky@amd.com, heiko.carstens@de.ibm.com, linuxram@us.ibm.com, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, pasic@linux.ibm.com, borntraeger@de.ibm.com, kvm@vger.kernel.org, david@gibson.dropbear.id.au Subject: Re: [PATCH v3 1/1] s390: virtio: let arch accept devices without IOMMU feature Date: Mon, 29 Jun 2020 18:05:26 +0200 [thread overview] Message-ID: <20200629180526.41d0732b.cohuck@redhat.com> (raw) In-Reply-To: <20200629115651-mutt-send-email-mst@kernel.org> On Mon, 29 Jun 2020 11:57:14 -0400 "Michael S. Tsirkin" <mst@redhat.com> wrote: > On Wed, Jun 17, 2020 at 12:43:57PM +0200, Pierre Morel wrote: > > An architecture protecting the guest memory against unauthorized host > > access may want to enforce VIRTIO I/O device protection through the > > use of VIRTIO_F_IOMMU_PLATFORM. > > > > Let's give a chance to the architecture to accept or not devices > > without VIRTIO_F_IOMMU_PLATFORM. > > > > Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> > > Acked-by: Jason Wang <jasowang@redhat.com> > > Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> > > --- > > arch/s390/mm/init.c | 6 ++++++ > > drivers/virtio/virtio.c | 22 ++++++++++++++++++++++ > > include/linux/virtio.h | 2 ++ > > 3 files changed, 30 insertions(+) > > @@ -179,6 +194,13 @@ int virtio_finalize_features(struct virtio_device *dev) > > if (!virtio_has_feature(dev, VIRTIO_F_VERSION_1)) > > return 0; > > > > + if (arch_needs_virtio_iommu_platform(dev) && > > + !virtio_has_feature(dev, VIRTIO_F_IOMMU_PLATFORM)) { > > + dev_warn(&dev->dev, > > + "virtio: device must provide VIRTIO_F_IOMMU_PLATFORM\n"); > > + return -ENODEV; > > + } > > + > > virtio_add_status(dev, VIRTIO_CONFIG_S_FEATURES_OK); > > status = dev->config->get_status(dev); > > if (!(status & VIRTIO_CONFIG_S_FEATURES_OK)) { > > Well don't you need to check it *before* VIRTIO_F_VERSION_1, not after? But it's only available with VERSION_1 anyway, isn't it? So it probably also needs to fail when this feature is needed if VERSION_1 has not been negotiated, I think.
next prev parent reply other threads:[~2020-06-29 19:06 UTC|newest] Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-06-17 10:43 [PATCH v3 0/1] s390: virtio: let arch choose to accept devices without IOMMU feature Pierre Morel 2020-06-17 10:43 ` [PATCH v3 1/1] s390: virtio: let arch " Pierre Morel 2020-06-17 11:22 ` Heiko Carstens 2020-06-17 11:59 ` Pierre Morel 2020-06-17 13:36 ` Tom Lendacky 2020-06-17 14:12 ` Pierre Morel 2020-06-17 22:29 ` Halil Pasic 2020-06-19 9:20 ` Cornelia Huck 2020-06-19 12:02 ` Halil Pasic 2020-06-19 12:02 ` Halil Pasic 2020-06-29 13:15 ` Pierre Morel 2020-06-29 13:15 ` Pierre Morel 2020-06-29 13:14 ` Pierre Morel 2020-06-29 13:14 ` Pierre Morel 2020-06-29 13:44 ` Cornelia Huck 2020-06-29 13:44 ` Cornelia Huck 2020-06-29 16:10 ` Pierre Morel 2020-06-29 16:10 ` Pierre Morel 2020-06-29 13:21 ` Pierre Morel 2020-06-29 13:21 ` Pierre Morel 2020-06-29 15:57 ` Michael S. Tsirkin 2020-06-29 15:57 ` Michael S. Tsirkin 2020-06-29 16:05 ` Cornelia Huck [this message] 2020-06-29 16:05 ` Cornelia Huck 2020-07-02 13:03 ` Pierre Morel 2020-07-06 13:37 ` Pierre Morel 2020-07-06 14:33 ` Cornelia Huck 2020-07-06 15:01 ` Pierre Morel 2020-06-29 16:09 ` Pierre Morel 2020-06-29 16:09 ` Pierre Morel 2020-06-29 16:09 ` Michael S. Tsirkin 2020-06-29 16:09 ` Michael S. Tsirkin 2020-06-29 16:48 ` Pierre Morel 2020-06-29 16:48 ` Pierre Morel 2020-06-29 21:18 ` Michael S. Tsirkin 2020-06-29 21:18 ` Michael S. Tsirkin 2020-06-30 7:08 ` 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=20200629180526.41d0732b.cohuck@redhat.com \ --to=cohuck@redhat.com \ --cc=borntraeger@de.ibm.com \ --cc=david@gibson.dropbear.id.au \ --cc=frankja@linux.ibm.com \ --cc=gor@linux.ibm.com \ --cc=heiko.carstens@de.ibm.com \ --cc=jasowang@redhat.com \ --cc=kvm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-s390@vger.kernel.org \ --cc=linuxram@us.ibm.com \ --cc=mst@redhat.com \ --cc=pasic@linux.ibm.com \ --cc=pmorel@linux.ibm.com \ --cc=thomas.lendacky@amd.com \ --cc=virtualization@lists.linux-foundation.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: linkBe 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.