Re: linux-next: build failure after merge of the drm-intel-fixes tree

From: Alex Williamson
Date: Mon Jan 02 2017 - 23:49:26 EST


On Tue, 3 Jan 2017 10:59:29 +0800
Zhenyu Wang <zhenyuw@xxxxxxxxxxxxxxx> wrote:

> On 2017.01.03 10:42:39 +1100, Stephen Rothwell wrote:
> > Hi all,
> >
> > After merging the drm-intel-fixes tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> >
> > drivers/gpu/drm/i915/gvt/kvmgt.c: In function 'intel_vgpu_open':
> > drivers/gpu/drm/i915/gvt/kvmgt.c:511:32: error: dereferencing pointer to incomplete type 'struct mdev_device'
> > vfio_unregister_notifier(&mdev->dev, VFIO_GROUP_NOTIFY,
> > ^
> >
> > Caused by commit
> >
> > 99e3123e3d72 ("vfio-mdev: Make mdev_device private and abstract interfaces")
> >
> > from the vfio-fixes tree interacting with commit
> >
> > 364fb6b789ff ("drm/i915/gvt/kvmgt: prevent double-release of vgpu")
> >
> > from the drm-intel-fixes tree.
>
> Alex, I liked to have kvmgt related mdev interface change be merged through
> vfio tree, but wasn't awared one of Jike's fix had conflict. Could you apply
> below fix in your tree? I think in general for possible interface change in
> future we still need a pull request for i915 to resolve dependence earlier.

Hi Zhenyu,

Hopefully this abstraction will help to isolate vendor drivers from
mdev API changes in the future. I can certainly roll this patch into
the original to maintain bisectability. I want to get these changes in
for rc3, will a pull request for the i915 changes be sent this week?
Thanks for spotting and fixing this, Stephen. Thanks,

Alex

> > I applied this merge fix patch:
> >
> > From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> > Date: Tue, 3 Jan 2017 10:38:48 +1100
> > Subject: [PATCH] vfio-mdev: fixup for "Make mdev_device private and abstract interfaces"
> >
> > Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> > ---
> > drivers/gpu/drm/i915/gvt/kvmgt.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c b/drivers/gpu/drm/i915/gvt/kvmgt.c
> > index c24b665e007b..faaae07ae487 100644
> > --- a/drivers/gpu/drm/i915/gvt/kvmgt.c
> > +++ b/drivers/gpu/drm/i915/gvt/kvmgt.c
> > @@ -508,7 +508,7 @@ static int intel_vgpu_open(struct mdev_device *mdev)
> > return ret;
> >
> > undo_group:
> > - vfio_unregister_notifier(&mdev->dev, VFIO_GROUP_NOTIFY,
> > + vfio_unregister_notifier(mdev_dev(mdev), VFIO_GROUP_NOTIFY,
> > &vgpu->vdev.group_notifier);
> >
> > undo_iommu:
> > --
> > 2.10.2
> >
> > --
> > Cheers,
> > Stephen Rothwell
>