Re: [RFC PATCH] iommu/vt-d: Fix IOMMU field not populated on device hot re-plug

From: Janusz Krzysztofik
Date: Tue Oct 01 2019 - 11:01:11 EST


Hi Baolu,

On Tuesday, September 3, 2019 9:41:23 AM CEST Janusz Krzysztofik wrote:
> Hi Baolu,
>
> On Tuesday, September 3, 2019 3:29:40 AM CEST Lu Baolu wrote:
> > Hi Janusz,
> >
> > On 9/2/19 4:37 PM, Janusz Krzysztofik wrote:
> > >> I am not saying that keeping data is not acceptable. I just want to
> > >> check whether there are any other solutions.
> > > Then reverting 458b7c8e0dde and applying this patch still resolves the
> issue
> > > for me. No errors appear when mappings are unmapped on device close after
> the
> > > device has been removed, and domain info preserved on device removal is
> > > successfully reused on device re-plug.
> >
> > This patch doesn't look good to me although I agree that keeping data is
> > acceptable.

Any progress with that? Which mailing list should I watch for updates?

Thanks,
Janusz

> > It updates dev->archdata.iommu, but leaves the hardware
> > context/pasid table unchanged. This might cause problems somewhere.
> >
> > >
> > > Is there anything else I can do to help?
> >
> > Can you please tell me how to reproduce the problem?
>
> The most simple way to reproduce the issue, assuming there are no non-Intel
> graphics adapters installed, is to run the following shell commands:
>
> #!/bin/sh
> # load i915 module
> modprobe i915
> # open an i915 device and keep it open in background
> cat /dev/dri/card0 >/dev/null &
> sleep 2
> # simulate device unplug
> echo 1 >/sys/class/drm/card0/device/remove
> # make the background process close the device on exit
> kill $!
>
> Thanks,
> Janusz
>
>
> > Keeping the per
> > device domain info while device is unplugged is a bit dangerous because
> > info->dev might be a wild pointer. We need to work out a clean fix.
> >
> > >
> > > Thanks,
> > > Janusz
> > >
> >
> > Best regards,
> > Baolu
> >
>
>
>
>
>