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:
...
But since this can be rewritten any time, let's go with the option
people already agree with, instead of more discussion.
Yes, there's nothing wrong with the patch as-is.
Acked-by: Cornelia Huck <cohuck@xxxxxxxxxx>
Thanks,
Which tree should this go through? Virtio? s390? >
Just another question. Do we want this backported? Do we need cc stable?
It does change behaviour of virtio-ccw devices; but then, it only
fences off configurations that would not have worked anyway.
Distributions should probably pick this; but I do not consider it
strictly a "fix" (more a mitigation for broken configurations), so I'm
not sure whether stable applies.
[..]
int virtio_finalize_features(struct virtio_device *dev)
{
int ret = dev->config->finalize_features(dev);
@@ -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");
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.
Regards,
Pierre
--
Pierre Morel
IBM Lab Boeblingen