Thread (8 messages) 8 messages, 2 authors, 2020-08-19

Re: [PATCH v8 1/2] virtio: let arch validate VIRTIO features

flat view

From: Cornelia Huck <cohuck@redhat.com>
Date: 2020-08-19 09:35:07
Also in: kvm, linux-s390, lkml

On Wed, 19 Aug 2020 10:50:18 +0200
Pierre Morel [off-list ref] wrote:
On 2020-08-18 19:19, Cornelia Huck wrote:
quoted
On Tue, 18 Aug 2020 16:58:30 +0200
Pierre Morel [off-list ref] wrote:
  
...
quoted
quoted
+config ARCH_HAS_RESTRICTED_MEMORY_ACCESS
+	bool
+	help
+	  This option is selected by any architecture enforcing
+	  VIRTIO_F_IOMMU_PLATFORM  
This option is only for a very specific case of "restricted memory
access", namely the kind that requires IOMMU_PLATFORM for virtio
devices. ARCH_HAS_RESTRICTED_VIRTIO_MEMORY_ACCESS? Or is this intended
to cover cases outside of virtio as well?  
AFAIK we did not identify other restrictions so adding VIRTIO in the 
name should be the best thing to do.

If new restrictions appear they also may be orthogonal.

I will change to ARCH_HAS_RESTRICTED_VIRTIO_MEMORY_ACCESS if no one 
complains.
quoted
  
quoted
+
  menuconfig VIRTIO_MENU
  	bool "Virtio drivers"
  	default y
diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c
index a977e32a88f2..1471db7d6510 100644
--- a/drivers/virtio/virtio.c
+++ b/drivers/virtio/virtio.c
@@ -176,6 +176,10 @@ int virtio_finalize_features(struct virtio_device *dev)
  	if (ret)
  		return ret;
  
+	ret = arch_has_restricted_memory_access(dev);
+	if (ret)
+		return ret;  
Hm, I'd rather have expected something like

if (arch_has_restricted_memory_access(dev)) {  
may be also change the callback name to
arch_has_restricted_virtio_memory_access() ?
Yes, why not.
quoted
	// enforce VERSION_1 and IOMMU_PLATFORM
}

Otherwise, you're duplicating the checks in the individual architecture
callbacks again.  
Yes, I agree and go back this way.
quoted
[Not sure whether the device argument would be needed here; are there
architectures where we'd only require IOMMU_PLATFORM for a subset of
virtio devices?]  
I don't think so and since we do the checks locally, we do not need the 
device argument anymore.
Yes, that would also remove some layering entanglement.

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help