lkml.org 
[lkml]   [2020]   [Aug]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v8 1/2] virtio: let arch validate VIRTIO features
    From
    Date


    On 2020-08-18 19:19, Cornelia Huck wrote:
    > On Tue, 18 Aug 2020 16:58:30 +0200
    > Pierre Morel <pmorel@linux.ibm.com> wrote:
    >
    ...
    >> +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.

    >
    >> +
    >> 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() ?

    > // 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.

    >
    > [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.


    Thanks,
    Pierre

    --
    Pierre Morel
    IBM Lab Boeblingen

    \
     
     \ /
      Last update: 2020-08-19 10:51    [W:3.671 / U:0.952 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site