Subject: Re: linux-next: build failure after merge of the vhost tree

From: "Michael S. Tsirkin" <[email-masked]>
Date: Thu, 9 Apr 2020 17:15:51 -0400

On Tue, Apr 07, 2020 at 11:58:15AM -0700, Nathan Chancellor wrote:
> On Tue, Apr 07, 2020 at 01:05:42PM +1000, Stephen Rothwell wrote:
> > Hi all,
> > 
> > After merging the vhost tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> > 
> > drivers/gpu/drm/virtio/virtgpu_kms.c: In function 'virtio_gpu_init':
> > drivers/gpu/drm/virtio/virtgpu_kms.c:153:38: error: 'VIRTIO_RING_F_INDIRECT_DESC' undeclared (first use in this function)
> >   153 |  if (virtio_has_feature(vgdev->vdev, VIRTIO_RING_F_INDIRECT_DESC)) {
> >       |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> > drivers/gpu/drm/virtio/virtgpu_kms.c:153:38: note: each undeclared identifier is reported only once for each function it appears in
> > 
> > Caused by commit
> > 
> >   898952f9597e ("virtio: stop using legacy struct vring in kernel")
> > 
> > interacting with commit
> > 
> >   5edbb5608256 ("drm/virtio: fix ring free check")
> > 
> > from Linus' tree (post v5.6).
> > 
> > I have added the following merge fix patch for today.
> > 
> > From: Stephen Rothwell <[email-masked]>
> > Date: Tue, 7 Apr 2020 12:58:26 +1000
> > Subject: [PATCH] drm/virtio: fix up for include file changes
> > 
> > Signed-off-by: Stephen Rothwell <[email-masked]>
> > ---
> >  drivers/gpu/drm/virtio/virtgpu_kms.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/gpu/drm/virtio/virtgpu_kms.c b/drivers/gpu/drm/virtio/virtgpu_kms.c
> > index 023a030ca7b9..f4ea4cef5e23 100644
> > --- a/drivers/gpu/drm/virtio/virtgpu_kms.c
> > +++ b/drivers/gpu/drm/virtio/virtgpu_kms.c
> > @@ -25,6 +25,7 @@
> >  
> >  #include <linux/virtio.h>
> >  #include <linux/virtio_config.h>
> > +#include <linux/virtio_ring.h>
> >  
> >  #include <drm/drm_file.h>
> >  
> > -- 
> > 2.25.0
> > 
> > I do have to wonder why all this code has been added to the vhost tree
> > during the second week of the merge window (especially when I see it
> > rebased 4 times in one day :-().  Is it really intended for v5.7?

I pushed to next branch by mistake as I was publishing a tree for others to test, sorry.
But yes the final version (which should be ok now hopefully) is intended
for 5.7.

> > -- 
> > Cheers,
> > Stephen Rothwell
> 
> Linaro's CI also reports an issue with this patch with the remoteproc
> drivers that were freshly merged in Linus' tree for 5.7-rc1 (seen with a
> simple arm allyesconfig build):
> 
> drivers/rpmsg/mtk_rpmsg.c:68:2: error: implicit declaration of function 'kfree' [-Werror,-Wimplicit-function-declaration]
> drivers/rpmsg/mtk_rpmsg.c:93:9: error: implicit declaration of function 'kzalloc' [-Werror,-Wimplicit-function-declaration]
> drivers/rpmsg/mtk_rpmsg.c:170:2: error: implicit declaration of function 'kfree' [-Werror,-Wimplicit-function-declaration]
> drivers/rpmsg/mtk_rpmsg.c:204:9: error: implicit declaration of function 'kzalloc' [-Werror,-Wimplicit-function-declaration]
> drivers/rpmsg/mtk_rpmsg.c:223:3: error: implicit declaration of function 'kfree' [-Werror,-Wimplicit-function-declaration]
> drivers/rpmsg/mtk_rpmsg.c:259:9: error: implicit declaration of function 'kzalloc' [-Werror,-Wimplicit-function-declaration]
> drivers/rpmsg/mtk_rpmsg.c:376:3: error: implicit declaration of function 'kfree' [-Werror,-Wimplicit-function-declaration]
> drivers/rpmsg/mtk_rpmsg.c:387:15: error: implicit declaration of function 'kzalloc' [-Werror,-Wimplicit-function-declaration]
> drivers/rpmsg/mtk_rpmsg.c:409:2: error: implicit declaration of function 'kfree' [-Werror,-Wimplicit-function-declaration]
> drivers/remoteproc/stm32_rproc.c:152:14: error: implicit declaration of function 'kcalloc' [-Werror,-Wimplicit-function-declaration]
> drivers/remoteproc/stm32_rproc.c:179:2: error: implicit declaration of function 'kfree' [-Werror,-Wimplicit-function-declaration]

Yes, this a virtio header change in -next exposes a bug: these are using slab.h
but not including it. I posted fixes and also pushed them on my branch now.

> It seems like this series shouldn't be in -next until after 5.7-rc1 (or
> rebased on Linus' tree if it is intended for the merge window).
> 
> Cheers,
> Nathan

Exposing this kind of issue is what next is for, right?

-- 
MST