Subject: Re: linux-next: build warning after merge of the staging tree

From: Gao Xiang <[email-masked]>
Date: Mon, 26 Aug 2019 17:43:41 +0800

Hi Stephen,

On Mon, Aug 26, 2019 at 04:54:08PM +0800, Gao Xiang wrote:
> Hi Stephen,
> 
> On Mon, Aug 26, 2019 at 04:38:01PM +0800, Gao Xiang wrote:
> > Hi Greg,
> > 
> > On Mon, Aug 26, 2019 at 08:30:24AM +0200, Greg KH wrote:
> > > On Mon, Aug 26, 2019 at 04:24:32PM +1000, Stephen Rothwell wrote:
> > > > Hi all,
> > > > 
> > > > After merging the staging tree, today's linux-next build (x86_64
> > > > allmodconfig) produced this warning:
> > > > 
> > > > In file included from include/trace/events/erofs.h:8,
> > > >                  from <command-line>:
> > > > include/trace/events/erofs.h:28:37: warning: 'struct dentry' declared inside parameter list will not be visible outside of this definition or declaration
> > > >   TP_PROTO(struct inode *dir, struct dentry *dentry, unsigned int flags),
> > > >                                      ^~~~~~
> > > > include/linux/tracepoint.h:233:34: note: in definition of macro '__DECLARE_TRACE'
> > > >   static inline void trace_##name(proto)    \
> > > >                                   ^~~~~
> > > > include/linux/tracepoint.h:396:24: note: in expansion of macro 'PARAMS'
> > > >   __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args),  \
> > > >                         ^~~~~~
> > > > include/linux/tracepoint.h:532:2: note: in expansion of macro 'DECLARE_TRACE'
> > > >   DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
> > > >   ^~~~~~~~~~~~~
> > > > include/linux/tracepoint.h:532:22: note: in expansion of macro 'PARAMS'
> > > >   DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
> > > >                       ^~~~~~
> > > > include/trace/events/erofs.h:26:1: note: in expansion of macro 'TRACE_EVENT'
> > > >  TRACE_EVENT(erofs_lookup,
> > > >  ^~~~~~~~~~~
> > > > include/trace/events/erofs.h:28:2: note: in expansion of macro 'TP_PROTO'
> > > >   TP_PROTO(struct inode *dir, struct dentry *dentry, unsigned int flags),
> > > >   ^~~~~~~~
> > > > 
> > > > and moany more like this ...
> 
> Could you give me more log about this? I don't know how to reproduce that warning
> since I can compile x86-64 kernel image with my configproperly on my PC...
> I'm trying allmodconfig now...

I have tested the latest staging-next tree with x86_64 allmodconfig with
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
the following commands (on my x86-64 PC),

 $ make allmodconfig
 $ make -j12

and it compiles successful as below:
  LD [M]  sound/usb/hiface/snd-usb-hiface.ko
  LD [M]  sound/usb/line6/snd-usb-line6.ko
  LD [M]  sound/usb/line6/snd-usb-pod.ko
  LD [M]  sound/usb/line6/snd-usb-podhd.ko
  LD [M]  sound/usb/line6/snd-usb-toneport.ko
  LD [M]  sound/usb/line6/snd-usb-variax.ko
  LD [M]  sound/usb/misc/snd-ua101.ko
  LD [M]  sound/usb/snd-usb-audio.ko
  LD [M]  sound/usb/snd-usbmidi-lib.ko
  LD [M]  sound/usb/usx2y/snd-usb-us122l.ko
  LD [M]  sound/usb/usx2y/snd-usb-usx2y.ko
  LD [M]  sound/x86/snd-hdmi-lpe-audio.ko
  LD [M]  sound/xen/snd_xen_front.ko
  LD [M]  virt/lib/irqbypass.ko
g00380047@architecture4:~/oss/linux-staging$ 

I'm also testing the latest linux-next tree with commit 47e4937a4a7c applied,
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git

and the command is the same (on my x86-64 PC),

 $ make allmodconfig
 $ make -j12

it seems all .o in fs/erofs have been generated properly, although the final
result hasn't been generated. I will reply the final result later...

Out of curiosity, are there some merge conflicts raised? Or could you give
me some hints (code and .config) to reproduce that? since I don't find any
potential issue in include/trace/events/erofs.h and fs/erofs/*... I have no
idea what happened and how to do next... Thank you very much!

Thanks,
Gao Xiang

> 
> Thanks,
> Gao Xiang
> 
> > > > 
> > > > Introduced by commit
> > > > 
> > > >   47e4937a4a7c ("erofs: move erofs out of staging")
> > > > 
> > > > (or, at least, exposed by it).  It needs, at least, a "struct dentry;"
> > > > added to the file.
> > > 
> > > Odd, why has this never been seen before when the same files were in
> > > drivers/staging/ and why 0-day isn't reporting this?
> > 
> > I Think it is weird since it is never failed in staging and kbuild-all 0-day ci
> > (my tree and you tree)....
> > 
> > > 
> > > Gao, can you send me a patch for this?
> > 
> > Got it, I will look into that...
> > 
> > Thanks,
> > Gao Xiang
> > 
> > > 
> > > thanks,
> > >