On Mon, 29 Jun 2020 15:14:04 +0200 Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote: > On 2020-06-19 11:20, Cornelia Huck wrote: > > On Thu, 18 Jun 2020 00:29:56 +0200 > > Halil Pasic <pasic@xxxxxxxxxxxxx> wrote: > > > >> On Wed, 17 Jun 2020 12:43:57 +0200 > >> Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote: > >>> @@ -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"); [Side note: wasn't there a patch renaming this bit on the list? I think this name is only kept for userspace compat.] > >> > >> I'm not sure, divulging the current Linux name of this feature bit is a > >> good idea, but if everybody else is fine with this, I don't care that > > > > Not sure if that feature name will ever change, as it is exported in > > headers. At most, we might want to add the new ACCESS_PLATFORM define > > and keep the old one, but that would still mean some churn. > > > >> much. An alternative would be: > >> "virtio: device falsely claims to have full access to the memory, > >> aborting the device" > > > > "virtio: device does not work with limited memory access" ? > > > > But no issue with keeping the current message. > > > > If it is OK, I would like to specify that the arch is responsible to > accept or not the device. > The reason why the device is not accepted without IOMMU_PLATFORM is arch > specific. Hm, I'd think the reason is always the same (the device cannot access the memory directly), just the way to figure out whether that is the case or not is arch-specific, as with so many other things. No real need to go into detail here, I think.