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

From: Gao Xiang
Date: Mon Aug 26 2019 - 05:54:18 EST


On Mon, Aug 26, 2019 at 05:43:41PM +0800, Gao Xiang wrote:
> 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...

The attempt above compiles successfully as well... And I have tried
the following commands (Just in case...) and the result turns out
without any difference...

$ make ARCH=x86_64 allmodconfig
$ make ARCH=x86_64 -j16

and I'm so confused now... Hope to get your hints...

Thanks,
Gao Xiang

>
> 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,
> > > >
>