2019-08-26 06:27:18

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build warning after merge of the staging tree

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

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.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2019-08-26 06:46:36

by Greg KH

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the staging tree

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 ...
>
> 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?

Gao, can you send me a patch for this?

thanks,

greg k-h

2019-08-26 08:49:34

by Gao Xiang

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the staging tree

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 ...
> >
> > 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,
>
> greg k-h

2019-08-26 08:57:38

by Gao Xiang

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the staging tree

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

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,
> >
> > greg k-h

2019-08-26 10:18:33

by Gao Xiang

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the staging tree

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

2019-08-26 10:31:14

by Gao Xiang

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the staging tree

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

2019-08-26 11:35:54

by Gao Xiang

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the staging tree

On Mon, Aug 26, 2019 at 05:53:28PM +0800, Gao Xiang wrote:

[]

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

I think I got the warning now... Sorry, I thought it is a compile error.
I am looking into that, sorry about that...

Thanks,
Gao Xiang

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