linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* linux-next: build warnings after merge of the kbuild tree
@ 2016-06-09  2:22 Stephen Rothwell
  2016-06-09  2:56 ` Kees Cook
  2016-06-09 17:42 ` Emese Revfy
  0 siblings, 2 replies; 34+ messages in thread
From: Stephen Rothwell @ 2016-06-09  2:22 UTC (permalink / raw)
  To: Michal Marek; +Cc: linux-next, linux-kernel, Emese Revfy, Kees Cook

Hi Michal,

After merging the kbuild tree, today's linux-next build (x86_64
allmodconfig) produced these warnings:

Cyclomatic Complexity 1 scripts/mod/devicetable-offsets.c:main
Cyclomatic Complexity 1 kernel/bounds.c:foo
Cyclomatic Complexity 1 arch/x86/kernel/asm-offsets_64.c:main
Cyclomatic Complexity 1 arch/x86/kernel/asm-offsets.c:common
Cyclomatic Complexity 5 arch/x86/ia32/audit.c:ia32_classify_syscall

and so on (many, many of these - about 635,000 :-()

Introduced (presumably) by commits

  6b90bd4ba40b ("GCC plugin infrastructure")
  0dae776c6bf3 ("Add Cyclomatic complexity GCC plugin")

I have disabled CONFIG_GCC_PLUGIN_CYC_COMPLEXITY (by making it depend
on CONFIG_BROKEN) until it is not enabled by default.

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-06-09  2:22 linux-next: build warnings after merge of the kbuild tree Stephen Rothwell
@ 2016-06-09  2:56 ` Kees Cook
  2016-06-09  4:05   ` Stephen Rothwell
  2016-06-09 17:42 ` Emese Revfy
  1 sibling, 1 reply; 34+ messages in thread
From: Kees Cook @ 2016-06-09  2:56 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Michal Marek, Linux-Next, LKML, Emese Revfy

On Wed, Jun 8, 2016 at 7:22 PM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> Hi Michal,
>
> After merging the kbuild tree, today's linux-next build (x86_64
> allmodconfig) produced these warnings:
>
> Cyclomatic Complexity 1 scripts/mod/devicetable-offsets.c:main
> Cyclomatic Complexity 1 kernel/bounds.c:foo
> Cyclomatic Complexity 1 arch/x86/kernel/asm-offsets_64.c:main
> Cyclomatic Complexity 1 arch/x86/kernel/asm-offsets.c:common
> Cyclomatic Complexity 5 arch/x86/ia32/audit.c:ia32_classify_syscall
>
> and so on (many, many of these - about 635,000 :-()

Congratulations on having the gcc plugin development headers
successfully installed! ;)

> Introduced (presumably) by commits
>
>   6b90bd4ba40b ("GCC plugin infrastructure")
>   0dae776c6bf3 ("Add Cyclomatic complexity GCC plugin")
>
> I have disabled CONFIG_GCC_PLUGIN_CYC_COMPLEXITY (by making it depend
> on CONFIG_BROKEN) until it is not enabled by default.

Ah, yes, that should default to off. We'll get a fix landed ASAP.

-Kees

-- 
Kees Cook
Chrome OS & Brillo Security

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-06-09  2:56 ` Kees Cook
@ 2016-06-09  4:05   ` Stephen Rothwell
  2016-06-09 10:57     ` Michal Marek
  2016-06-09 11:10     ` Michael Ellerman
  0 siblings, 2 replies; 34+ messages in thread
From: Stephen Rothwell @ 2016-06-09  4:05 UTC (permalink / raw)
  To: Kees Cook; +Cc: Michal Marek, Linux-Next, LKML, Emese Revfy

Hi Kees,

On Wed, 8 Jun 2016 19:56:38 -0700 Kees Cook <keescook@chromium.org> wrote:
>
> Congratulations on having the gcc plugin development headers
> successfully installed! ;)

Thanks :-)

> Ah, yes, that should default to off. We'll get a fix landed ASAP.

Note that this was an allmodconfig build.  The default is 'n', but
allmodconfig will turn it on (as will allyesconfig).

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-06-09  4:05   ` Stephen Rothwell
@ 2016-06-09 10:57     ` Michal Marek
  2016-06-09 17:37       ` Emese Revfy
  2016-06-09 11:10     ` Michael Ellerman
  1 sibling, 1 reply; 34+ messages in thread
From: Michal Marek @ 2016-06-09 10:57 UTC (permalink / raw)
  To: Stephen Rothwell, Kees Cook; +Cc: Linux-Next, LKML, Emese Revfy

Dne 9.6.2016 v 06:05 Stephen Rothwell napsal(a):
> On Wed, 8 Jun 2016 19:56:38 -0700 Kees Cook <keescook@chromium.org> wrote:
>> Ah, yes, that should default to off. We'll get a fix landed ASAP.
> 
> Note that this was an allmodconfig build.  The default is 'n', but
> allmodconfig will turn it on (as will allyesconfig).

I guess we should make GCC_PLUGINS depend on !COMPILE_TEST. Actually I
thought this was already the case, but it is not.

Michal

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-06-09  4:05   ` Stephen Rothwell
  2016-06-09 10:57     ` Michal Marek
@ 2016-06-09 11:10     ` Michael Ellerman
  1 sibling, 0 replies; 34+ messages in thread
From: Michael Ellerman @ 2016-06-09 11:10 UTC (permalink / raw)
  To: Stephen Rothwell, Kees Cook; +Cc: Michal Marek, Linux-Next, LKML, Emese Revfy

On Thu, 2016-06-09 at 14:05 +1000, Stephen Rothwell wrote:
> Hi Kees,
> 
> On Wed, 8 Jun 2016 19:56:38 -0700 Kees Cook <keescook@chromium.org> wrote:
> > 
> > Congratulations on having the gcc plugin development headers
> > successfully installed! ;)
> 
> Thanks :-)
 
And on ppc64le too! (I think)

:)

cheers

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-06-09 10:57     ` Michal Marek
@ 2016-06-09 17:37       ` Emese Revfy
  2016-06-09 17:58         ` Kees Cook
  0 siblings, 1 reply; 34+ messages in thread
From: Emese Revfy @ 2016-06-09 17:37 UTC (permalink / raw)
  To: Michal Marek; +Cc: Stephen Rothwell, Kees Cook, Linux-Next, LKML

On Thu, 9 Jun 2016 12:57:16 +0200
Michal Marek <mmarek@suse.cz> wrote:

> Dne 9.6.2016 v 06:05 Stephen Rothwell napsal(a):
> > On Wed, 8 Jun 2016 19:56:38 -0700 Kees Cook <keescook@chromium.org> wrote:
> >> Ah, yes, that should default to off. We'll get a fix landed ASAP.
> > 
> > Note that this was an allmodconfig build.  The default is 'n', but
> > allmodconfig will turn it on (as will allyesconfig).
> 
> I guess we should make GCC_PLUGINS depend on !COMPILE_TEST. Actually I
> thought this was already the case, but it is not.

Is it really necessary to disable all gcc plugins or would it be enough
to disable only the cyc_complexity plugin?

-- 
Emese

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-06-09  2:22 linux-next: build warnings after merge of the kbuild tree Stephen Rothwell
  2016-06-09  2:56 ` Kees Cook
@ 2016-06-09 17:42 ` Emese Revfy
  1 sibling, 0 replies; 34+ messages in thread
From: Emese Revfy @ 2016-06-09 17:42 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Michal Marek, linux-next, linux-kernel, Kees Cook

On Thu, 9 Jun 2016 12:22:58 +1000
Stephen Rothwell <sfr@canb.auug.org.au> wrote:

> Hi Michal,
> 
> After merging the kbuild tree, today's linux-next build (x86_64
> allmodconfig) produced these warnings:
> 
> Cyclomatic Complexity 1 scripts/mod/devicetable-offsets.c:main
> Cyclomatic Complexity 1 kernel/bounds.c:foo
> Cyclomatic Complexity 1 arch/x86/kernel/asm-offsets_64.c:main
> Cyclomatic Complexity 1 arch/x86/kernel/asm-offsets.c:common
> Cyclomatic Complexity 5 arch/x86/ia32/audit.c:ia32_classify_syscall
> 
> and so on (many, many of these - about 635,000 :-()
> 
> Introduced (presumably) by commits
> 
>   6b90bd4ba40b ("GCC plugin infrastructure")
>   0dae776c6bf3 ("Add Cyclomatic complexity GCC plugin")
> 
> I have disabled CONFIG_GCC_PLUGIN_CYC_COMPLEXITY (by making it depend
> on CONFIG_BROKEN) until it is not enabled by default.

These aren't warnings. This plugin is a static analyzer. It prints out
the cyclomatic complexity of all functions in the kernel.

I think it would be useful to enable it sometimes and report new functions
with a high enough complexity value. 

-- 
Emese

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-06-09 17:37       ` Emese Revfy
@ 2016-06-09 17:58         ` Kees Cook
  0 siblings, 0 replies; 34+ messages in thread
From: Kees Cook @ 2016-06-09 17:58 UTC (permalink / raw)
  To: Emese Revfy; +Cc: Michal Marek, Stephen Rothwell, Linux-Next, LKML

On Thu, Jun 9, 2016 at 10:37 AM, Emese Revfy <re.emese@gmail.com> wrote:
> On Thu, 9 Jun 2016 12:57:16 +0200
> Michal Marek <mmarek@suse.cz> wrote:
>
>> Dne 9.6.2016 v 06:05 Stephen Rothwell napsal(a):
>> > On Wed, 8 Jun 2016 19:56:38 -0700 Kees Cook <keescook@chromium.org> wrote:
>> >> Ah, yes, that should default to off. We'll get a fix landed ASAP.
>> >
>> > Note that this was an allmodconfig build.  The default is 'n', but
>> > allmodconfig will turn it on (as will allyesconfig).
>>
>> I guess we should make GCC_PLUGINS depend on !COMPILE_TEST. Actually I
>> thought this was already the case, but it is not.
>
> Is it really necessary to disable all gcc plugins or would it be enough
> to disable only the cyc_complexity plugin?

I think disabling (depend on !COMPILE_TEST) plugins that have
non-actionable output make sense. For example, in the future, things
like constify or initify may produce warnings that are "real" in the
sense that they have detected situations that should be fixed in the
code. In a perfect world, we would include those fixes ahead of the
new plugin to keep Stephen from going crazy. :)

-Kees

-- 
Kees Cook
Chrome OS & Brillo Security

^ permalink raw reply	[flat|nested] 34+ messages in thread

* linux-next: build warnings after merge of the kbuild tree
@ 2022-06-01 23:28 Stephen Rothwell
  0 siblings, 0 replies; 34+ messages in thread
From: Stephen Rothwell @ 2022-06-01 23:28 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: David Lebrun, David S. Miller, David Vrabel, Florian Fainelli,
	Linus Walleij, Michael Kelley, Shannon Zhao, Steffen Klassert,
	Thomas Gleixner, Linux Kernel Mailing List,
	Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 2904 bytes --]

Hi all,

After merging the kbuild tree, today's linux-next build (arm
multi_v7_defconfig) produced these warnings:

WARNING: modpost: vmlinux.o(___ksymtab_gpl+mdio_bus_init+0x0): Section mismatch in reference from the variable __ksymtab_mdio_bus_init to the function .init.text:mdio_bus_init()
The symbol mdio_bus_init is exported and annotated __init 
Fix this by removing the __init annotation of mdio_bus_init or drop the export.

WARNING: modpost: vmlinux.o(___ksymtab+xfrm4_protocol_init+0x0): Section mismatch in reference from the variable __ksymtab_xfrm4_protocol_init to the function .init.text:xfrm4_protocol_init()
The symbol xfrm4_protocol_init is exported and annotated __init 
Fix this by removing the __init annotation of xfrm4_protocol_init or drop the export.

The x86_64 allmodconfig build added these:

WARNING: modpost: vmlinux.o(___ksymtab_gpl+xen_xlate_map_ballooned_pages+0x0): Section mismatch in reference from the variable __ksymtab_xen_xlate_map_ballooned_pages to the function .init.text:xen_xlate_map_ballooned_pages()
The symbol xen_xlate_map_ballooned_pages is exported and annotated __init 
Fix this by removing the __init annotation of xen_xlate_map_ballooned_pages or drop the export.

WARNING: modpost: vmlinux.o(___ksymtab_gpl+ixp4xx_timer_setup+0x0): Section mismatch in reference from the variable __ksymtab_ixp4xx_timer_setup to the function .init.text:ixp4xx_timer_setup()
The symbol ixp4xx_timer_setup is exported and annotated __init 
Fix this by removing the __init annotation of ixp4xx_timer_setup or drop the export.

WARNING: modpost: vmlinux.o(___ksymtab_gpl+hv_init_clocksource+0x0): Section mismatch in reference from the variable __ksymtab_hv_init_clocksource to the function .init.text:hv_init_clocksource()
The symbol hv_init_clocksource is exported and annotated __init 
Fix this by removing the __init annotation of hv_init_clocksource or drop the export.

WARNING: modpost: net/ipv6/ipv6.o(___ksymtab+seg6_hmac_init+0x0): Section mismatch in reference from the variable __ksymtab_seg6_hmac_init to the function .init.text:seg6_hmac_init()
The symbol seg6_hmac_init is exported and annotated __init 
Fix this by removing the __init annotation of seg6_hmac_init or drop the export.
Exposed by commit

  cf2cbe28c6a2 ("modpost: fix section mismatch check for exported init/exit sections")

Introduced by commits

  90eff9096c01 ("net: phy: Allow splitting MDIO bus/device support from PHYs")
  2f32b51b609f ("xfrm: Introduce xfrm_input_afinfo to access the the callbacks properly")
  243848fc018c ("xen/grant-table: Move xlated_setup_gnttab_pages to common place")
  13e0b4059b98 ("clocksource/drivers/ixp4xx: Add driver")
  dd2cb348613b ("clocksource/drivers: Continue making Hyper-V clocksource ISA agnostic")
  bf355b8d2c30 ("ipv6: sr: add core files for SR HMAC support")

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2019-09-04  6:22   ` Masahiro Yamada
@ 2019-09-04 12:33     ` Stephen Rothwell
  0 siblings, 0 replies; 34+ messages in thread
From: Stephen Rothwell @ 2019-09-04 12:33 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Michael Ellerman, PowerPC

[-- Attachment #1: Type: text/plain, Size: 975 bytes --]

Hi Masahiro,

On Wed, 4 Sep 2019 15:22:09 +0900 Masahiro Yamada <yamada.masahiro@socionext.com> wrote:
>
> For today's linux-next, please squash the following too.
> 
> (This is my fault, since scripts/mkuboot.sh is a bash script)
> 
> 
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index 41c50f9461e5..2d72327417a9 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -374,7 +374,7 @@ UIMAGE_ENTRYADDR ?= $(UIMAGE_LOADADDR)
>  UIMAGE_NAME ?= 'Linux-$(KERNELRELEASE)'
> 
>  quiet_cmd_uimage = UIMAGE  $@
> -      cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(UIMAGE_ARCH) -O linux \
> +      cmd_uimage = $(BASE) $(MKIMAGE) -A $(UIMAGE_ARCH) -O linux \
>                         -C $(UIMAGE_COMPRESSION) $(UIMAGE_OPTS-y) \
>                         -T $(UIMAGE_TYPE) \
>                         -a $(UIMAGE_LOADADDR) -e $(UIMAGE_ENTRYADDR) \

Umm, that seems to have already been done.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2019-09-04  1:00 ` Masahiro Yamada
  2019-09-04  6:22   ` Masahiro Yamada
@ 2019-09-04 12:32   ` Stephen Rothwell
  1 sibling, 0 replies; 34+ messages in thread
From: Stephen Rothwell @ 2019-09-04 12:32 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Michael Ellerman, PowerPC

[-- Attachment #1: Type: text/plain, Size: 985 bytes --]

Hi Masahiro,

On Wed, 4 Sep 2019 10:00:30 +0900 Masahiro Yamada <yamada.masahiro@socionext.com> wrote:
>
> Could you fix it up as follows?
> I will squash it for tomorrow's linux-next.
> 
> 
> --- a/arch/powerpc/Makefile.postlink
> +++ b/arch/powerpc/Makefile.postlink
> @@ -18,7 +18,7 @@ quiet_cmd_relocs_check = CHKREL  $@
>  ifdef CONFIG_PPC_BOOK3S_64
>        cmd_relocs_check =                                               \
>         $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh
> "$(OBJDUMP)" "$@" ; \
> -       $(CONFIG_SHELL)
> $(srctree)/arch/powerpc/tools/unrel_branch_check.sh "$(OBJDUMP)" "$@"
> +       $(BASH) $(srctree)/arch/powerpc/tools/unrel_branch_check.sh
> "$(OBJDUMP)" "$@"
>  else
>        cmd_relocs_check =                                               \
>         $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh
> "$(OBJDUMP)" "$@"

I added that in linux-next today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2019-09-04  1:00 ` Masahiro Yamada
@ 2019-09-04  6:22   ` Masahiro Yamada
  2019-09-04 12:33     ` Stephen Rothwell
  2019-09-04 12:32   ` Stephen Rothwell
  1 sibling, 1 reply; 34+ messages in thread
From: Masahiro Yamada @ 2019-09-04  6:22 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Michael Ellerman, PowerPC

On Wed, Sep 4, 2019 at 10:00 AM Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
>
> Hi Stephen,
>
> On Wed, Sep 4, 2019 at 9:13 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >

For today's linux-next, please squash the following too.

(This is my fault, since scripts/mkuboot.sh is a bash script)


diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 41c50f9461e5..2d72327417a9 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -374,7 +374,7 @@ UIMAGE_ENTRYADDR ?= $(UIMAGE_LOADADDR)
 UIMAGE_NAME ?= 'Linux-$(KERNELRELEASE)'

 quiet_cmd_uimage = UIMAGE  $@
-      cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A $(UIMAGE_ARCH) -O linux \
+      cmd_uimage = $(BASE) $(MKIMAGE) -A $(UIMAGE_ARCH) -O linux \
                        -C $(UIMAGE_COMPRESSION) $(UIMAGE_OPTS-y) \
                        -T $(UIMAGE_TYPE) \
                        -a $(UIMAGE_LOADADDR) -e $(UIMAGE_ENTRYADDR) \





-- 
Best Regards
Masahiro Yamada

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2019-09-04  0:13 Stephen Rothwell
@ 2019-09-04  1:00 ` Masahiro Yamada
  2019-09-04  6:22   ` Masahiro Yamada
  2019-09-04 12:32   ` Stephen Rothwell
  0 siblings, 2 replies; 34+ messages in thread
From: Masahiro Yamada @ 2019-09-04  1:00 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Michael Ellerman, PowerPC

Hi Stephen,

On Wed, Sep 4, 2019 at 9:13 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Hi all,
>
> After merging the kbuild tree, today's linux-next build (powerpc
> ppc64_defconfig) produced these warnings:
>
>
> Presumably introduced by commit
>
>   1267f9d3047d ("kbuild: add $(BASH) to run scripts with bash-extension")
>
> and presumably arch/powerpc/tools/unrel_branch_check.sh (which has no
> #! line) is a bash script.  Yeah, is uses '((' and '))'.

Thanks for catching this.


Could you fix it up as follows?
I will squash it for tomorrow's linux-next.


--- a/arch/powerpc/Makefile.postlink
+++ b/arch/powerpc/Makefile.postlink
@@ -18,7 +18,7 @@ quiet_cmd_relocs_check = CHKREL  $@
 ifdef CONFIG_PPC_BOOK3S_64
       cmd_relocs_check =                                               \
        $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh
"$(OBJDUMP)" "$@" ; \
-       $(CONFIG_SHELL)
$(srctree)/arch/powerpc/tools/unrel_branch_check.sh "$(OBJDUMP)" "$@"
+       $(BASH) $(srctree)/arch/powerpc/tools/unrel_branch_check.sh
"$(OBJDUMP)" "$@"
 else
       cmd_relocs_check =                                               \
        $(CONFIG_SHELL) $(srctree)/arch/powerpc/tools/relocs_check.sh
"$(OBJDUMP)" "$@"





> --
> Cheers,
> Stephen Rothwell



-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 34+ messages in thread

* linux-next: build warnings after merge of the kbuild tree
@ 2019-09-04  0:13 Stephen Rothwell
  2019-09-04  1:00 ` Masahiro Yamada
  0 siblings, 1 reply; 34+ messages in thread
From: Stephen Rothwell @ 2019-09-04  0:13 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Michael Ellerman, PowerPC

[-- Attachment #1: Type: text/plain, Size: 399 bytes --]

Hi all,

After merging the kbuild tree, today's linux-next build (powerpc
ppc64_defconfig) produced these warnings:


Presumably introduced by commit

  1267f9d3047d ("kbuild: add $(BASH) to run scripts with bash-extension")

and presumably arch/powerpc/tools/unrel_branch_check.sh (which has no
#! line) is a bash script.  Yeah, is uses '((' and '))'.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2018-06-02 20:39           ` Arnd Bergmann
@ 2018-06-04  8:39             ` Arnd Bergmann
  0 siblings, 0 replies; 34+ messages in thread
From: Arnd Bergmann @ 2018-06-04  8:39 UTC (permalink / raw)
  To: Kees Cook
  Cc: Masahiro Yamada, Stephen Rothwell, Linux-Next Mailing List,
	Linux Kernel Mailing List

On Sat, Jun 2, 2018 at 10:39 PM, Arnd Bergmann <arnd@arndb.de> wrote:

> I ran into the same thing indepently and bisected it (which led me to
> arrive at this thread).
> One additional bit of information I have is that this happens with all
> versions of
> gcc-7 for me, but not gcc-6.3 or older.
>
> Another finding was the particular instance I noticed:
>
> fs/ext4/inode.c: In function 'ext4_inode_csum':
> fs/ext4/inode.c:83:1: warning: the frame size of 1688 bytes is larger
> than 500 bytes [-Wframe-larger-than=]
>
> comes from inlining the same function multiple times; ext4_inode_csum()
> repeatedly calls ext4_chksum(), which has a struct on the stack. Apparently
> this normally only takes up stack space only once, but when initializing it
> to zero, each instance takes an additional two CRYPTO_MINALIGN bytes
> of stack space (the size of the locally defined structure).

Two more things:

* I believe we still want to leave
  CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL depending on
  !COMPILE_TEST indefinitely. The reason is that it effectively turns off
  -Wmaybe-uninitialized warnings by initializing all structures, so we would
  miss those warnings in allmodconfig builds otherwise. Obviously
  that shouldn't stop of from fixing the excessive stack usage.

* Here is the full list of instances in which a function stack usage grows
   beyond the warning limit with CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL
   enabled, after several hundred randconfig builds on arm32/arm64/x86:

drivers/media/dvb-core/dvb_frontend.c: In function 'dvb_frontend_handle_ioctl':
drivers/media/dvb-core/dvb_frontend.c:2647:1: error: the frame size of
1032 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
fs/ext4/super.c: In function 'ext4_group_desc_csum':
fs/ext4/super.c:2306:1: error: the frame size of 1160 bytes is larger
than 1024 bytes [-Werror=frame-larger-than=]
fs/ext4/xattr.c: In function 'ext4_xattr_block_csum':
fs/ext4/xattr.c:147:1: error: the frame size of 1168 bytes is larger
than 1024 bytes [-Werror=frame-larger-than=]
fs/f2fs/inode.c: In function 'f2fs_inode_chksum':
fs/f2fs/inode.c:156:1: error: the frame size of 1424 bytes is larger
than 1024 bytes [-Werror=frame-larger-than=]
net/bluetooth/l2cap_core.c: In function 'l2cap_recv_frame':
net/bluetooth/l2cap_core.c:6976:1: error: the frame size of 2240 bytes
is larger than 2048 bytes [-Werror=frame-larger-than=]
drivers/media/i2c/soc_camera/ov9740.c: In function 'ov9740_set_res':
drivers/media/i2c/soc_camera/ov9740.c:668:1: error: the frame size of
2768 bytes is larger than 2048 bytes [-Werror=frame-larger-than=]

I did not see the brcmsmac warning on my builds though, so presumably there are
some others as well.

     Arnd

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2018-06-01  4:01         ` Kees Cook
@ 2018-06-02 20:39           ` Arnd Bergmann
  2018-06-04  8:39             ` Arnd Bergmann
  0 siblings, 1 reply; 34+ messages in thread
From: Arnd Bergmann @ 2018-06-02 20:39 UTC (permalink / raw)
  To: Kees Cook
  Cc: Masahiro Yamada, Stephen Rothwell, Linux-Next Mailing List,
	Linux Kernel Mailing List

On Fri, Jun 1, 2018 at 6:01 AM, Kees Cook <keescook@chromium.org> wrote:
> On Thu, May 31, 2018 at 6:56 PM, Masahiro Yamada
> <yamada.masahiro@socionext.com> wrote:
>> 2018-05-31 12:53 GMT+09:00 Kees Cook <keescook@chromium.org>:
>>> On Wed, May 30, 2018 at 6:26 PM, Kees Cook <keescook@chromium.org> wrote:
>>>> On Wed, May 30, 2018 at 6:12 PM, Masahiro Yamada

>>>>> This has been triggered by the following commit:
>>>>>
>>>>>
>>>>> commit 0e461945f3504e09b8ecf947b6398adce1287a28
>>>>> Author: Masahiro Yamada <yamada.masahiro@socionext.com>
>>>>> Date:   Mon May 28 18:22:07 2018 +0900
>>>>>
>>>>>     gcc-plugins: allow to enable GCC_PLUGINS for COMPILE_TEST
>>>>>
>>>>>
>>>>>
>>>>> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL was previously disabled
>>>>> for COMPILE_TEST, which is now enabled.
>
> For the moment, can you add "depends on !COMPILE_TEST" to
> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL in your tree and I'll continue
> to figure out what's happening?
>

I ran into the same thing indepently and bisected it (which led me to
arrive at this thread).
One additional bit of information I have is that this happens with all
versions of
gcc-7 for me, but not gcc-6.3 or older.

Another finding was the particular instance I noticed:

fs/ext4/inode.c: In function 'ext4_inode_csum':
fs/ext4/inode.c:83:1: warning: the frame size of 1688 bytes is larger
than 500 bytes [-Wframe-larger-than=]

comes from inlining the same function multiple times; ext4_inode_csum()
repeatedly calls ext4_chksum(), which has a struct on the stack. Apparently
this normally only takes up stack space only once, but when initializing it
to zero, each instance takes an additional two CRYPTO_MINALIGN bytes
of stack space (the size of the locally defined structure).


       Arnd

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2018-06-01  1:56       ` Masahiro Yamada
@ 2018-06-01  4:01         ` Kees Cook
  2018-06-02 20:39           ` Arnd Bergmann
  0 siblings, 1 reply; 34+ messages in thread
From: Kees Cook @ 2018-06-01  4:01 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Stephen Rothwell, Linux-Next Mailing List, Linux Kernel Mailing List

On Thu, May 31, 2018 at 6:56 PM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> 2018-05-31 12:53 GMT+09:00 Kees Cook <keescook@chromium.org>:
>> On Wed, May 30, 2018 at 6:26 PM, Kees Cook <keescook@chromium.org> wrote:
>>> On Wed, May 30, 2018 at 6:12 PM, Masahiro Yamada
>>> <yamada.masahiro@socionext.com> wrote:
>>>> Hi.
>>>> (+CC Kees)
>>>>
>>>> 2018-05-31 7:40 GMT+09:00 Stephen Rothwell <sfr@canb.auug.org.au>:
>>>>> Hi Masahiro,
>>>>>
>>>>> After merging the kbuild tree, today's linux-next build (x86_64
>>>>> allmodconfig) produced these warnings:
>>>>>
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy_rev7':
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16563:1: warning: the frame size of 3136 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>>>>>  }
>>>>>  ^
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy_rev3':
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16905:1: warning: the frame size of 2872 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>>>>>  }
>>>>>  ^
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_cal_txiqlo_nphy':
>>>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:26033:1: warning: the frame size of 2432 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>>>>>  }
>>>>>  ^
>>>>>
>>>>> I have no idea what caused these warnings to appear ... nothing in those
>>>>> functions looks too bad.
>>>>
>>>>
>>>> This has been triggered by the following commit:
>>>>
>>>>
>>>> commit 0e461945f3504e09b8ecf947b6398adce1287a28
>>>> Author: Masahiro Yamada <yamada.masahiro@socionext.com>
>>>> Date:   Mon May 28 18:22:07 2018 +0900
>>>>
>>>>     gcc-plugins: allow to enable GCC_PLUGINS for COMPILE_TEST
>>>>
>>>>
>>>>
>>>> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL was previously disabled
>>>> for COMPILE_TEST, which is now enabled.

For the moment, can you add "depends on !COMPILE_TEST" to
CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL in your tree and I'll continue
to figure out what's happening?

Thanks!

-Kees

-- 
Kees Cook
Pixel Security

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2018-05-31  3:53     ` Kees Cook
@ 2018-06-01  1:56       ` Masahiro Yamada
  2018-06-01  4:01         ` Kees Cook
  0 siblings, 1 reply; 34+ messages in thread
From: Masahiro Yamada @ 2018-06-01  1:56 UTC (permalink / raw)
  To: Kees Cook
  Cc: Stephen Rothwell, Linux-Next Mailing List, Linux Kernel Mailing List

2018-05-31 12:53 GMT+09:00 Kees Cook <keescook@chromium.org>:
> On Wed, May 30, 2018 at 6:26 PM, Kees Cook <keescook@chromium.org> wrote:
>> On Wed, May 30, 2018 at 6:12 PM, Masahiro Yamada
>> <yamada.masahiro@socionext.com> wrote:
>>> Hi.
>>> (+CC Kees)
>>>
>>> 2018-05-31 7:40 GMT+09:00 Stephen Rothwell <sfr@canb.auug.org.au>:
>>>> Hi Masahiro,
>>>>
>>>> After merging the kbuild tree, today's linux-next build (x86_64
>>>> allmodconfig) produced these warnings:
>>>>
>>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy_rev7':
>>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16563:1: warning: the frame size of 3136 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>>>>  }
>>>>  ^
>>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy_rev3':
>>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16905:1: warning: the frame size of 2872 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>>>>  }
>>>>  ^
>>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_cal_txiqlo_nphy':
>>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:26033:1: warning: the frame size of 2432 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>>>>  }
>>>>  ^
>>>>
>>>> I have no idea what caused these warnings to appear ... nothing in those
>>>> functions looks too bad.
>>>
>>>
>>> This has been triggered by the following commit:
>>>
>>>
>>> commit 0e461945f3504e09b8ecf947b6398adce1287a28
>>> Author: Masahiro Yamada <yamada.masahiro@socionext.com>
>>> Date:   Mon May 28 18:22:07 2018 +0900
>>>
>>>     gcc-plugins: allow to enable GCC_PLUGINS for COMPILE_TEST
>>>
>>>
>>>
>>> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL was previously disabled
>>> for COMPILE_TEST, which is now enabled.
>>
>> Weird -- I do build tests with plugins enabled pretty regularly. I
>> hadn't seen this before. I'll see if I can figure out what the
>> combination is...
>
> Weirdly, I only see this after merging kbuild/for-next into
> next-20180530. (I don't get the warning if I just force the plugins
> on.)


I see this warning on Linus' tree as well
if the plugins are enabled.


Just remove "depends on !COMPILE_TEST", and try allmodconfig.






masahiro@grover:~/ref/linux$ git show --pretty=short
commit 0512e0134582ef85dee77d51aae77dcd1edec495
Merge: dd52cb8 829bc787
Author: Linus Torvalds <torvalds@linux-foundation.org>

    Merge tag 'xfs-4.17-fixes-3' of
git://git.kernel.org/pub/scm/fs/xfs/xfs-linux

masahiro@grover:~/ref/linux$ git diff
diff --git a/arch/Kconfig b/arch/Kconfig
index 75dd23a..7d44cfe 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -410,7 +410,6 @@ config HAVE_GCC_PLUGINS
 menuconfig GCC_PLUGINS
        bool "GCC plugins"
        depends on HAVE_GCC_PLUGINS
-       depends on !COMPILE_TEST
        help
          GCC plugins are loadable modules that provide extra features to the
          compiler. They are useful for runtime instrumentation and
static analysis.
masahiro@grover:~/ref/linux$ make allmodconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  YACC    scripts/kconfig/zconf.tab.c
  LEX     scripts/kconfig/zconf.lex.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf  --allmodconfig Kconfig
#
# configuration written to .config
#
masahiro@grover:~/ref/linux$ make
drivers/net/wireless/broadcom/brcm80211/brcmsmac/
scripts/kconfig/conf  --syncconfig Kconfig
  SYSTBL  arch/x86/include/generated/asm/syscalls_32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_32_ia32.h
  SYSHDR  arch/x86/include/generated/asm/unistd_64_x32.h
  SYSTBL  arch/x86/include/generated/asm/syscalls_64.h
  HYPERCALLS arch/x86/include/generated/asm/xen-hypercalls.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_32.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_64.h
  SYSHDR  arch/x86/include/generated/uapi/asm/unistd_x32.h
  HOSTCC  scripts/basic/bin2c
  HOSTCC  arch/x86/tools/relocs_32.o
  HOSTCC  arch/x86/tools/relocs_64.o
  HOSTCC  arch/x86/tools/relocs_common.o
  HOSTLD  arch/x86/tools/relocs
  CHK     include/config/kernel.release
  UPD     include/config/kernel.release
  WRAP    arch/x86/include/generated/uapi/asm/bpf_perf_event.h
  WRAP    arch/x86/include/generated/uapi/asm/poll.h
  WRAP    arch/x86/include/generated/asm/dma-contiguous.h
  WRAP    arch/x86/include/generated/asm/early_ioremap.h
  WRAP    arch/x86/include/generated/asm/mcs_spinlock.h
  WRAP    arch/x86/include/generated/asm/mm-arch-hooks.h
  CHK     include/generated/uapi/linux/version.h
  UPD     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  UPD     include/generated/utsrelease.h
  CC      arch/x86/purgatory/purgatory.o
  AS      arch/x86/purgatory/stack.o
  AS      arch/x86/purgatory/setup-x86_64.o
  CC      arch/x86/purgatory/sha256.o
  AS      arch/x86/purgatory/entry64.o
  CC      arch/x86/purgatory/string.o
  LD      arch/x86/purgatory/purgatory.ro
  BIN2C   arch/x86/purgatory/kexec-purgatory.c
  HOSTCXX -fPIC scripts/gcc-plugins/latent_entropy_plugin.o
  HOSTLLD -shared scripts/gcc-plugins/latent_entropy_plugin.so
  HOSTCXX -fPIC scripts/gcc-plugins/structleak_plugin.o
  HOSTLLD -shared scripts/gcc-plugins/structleak_plugin.so
  GENSEED scripts/gcc-plugins/randomize_layout_seed.h
  HOSTCXX -fPIC scripts/gcc-plugins/randomize_layout_plugin.o
  HOSTLLD -shared scripts/gcc-plugins/randomize_layout_plugin.so
  CC      kernel/bounds.s
  CHK     include/generated/bounds.h
  UPD     include/generated/bounds.h
  CHK     include/generated/timeconst.h
  UPD     include/generated/timeconst.h
  CC      arch/x86/kernel/asm-offsets.s
  CHK     include/generated/asm-offsets.h
  UPD     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  DESCEND  objtool
  HOSTCC   /home/masahiro/ref/linux/tools/objtool/fixdep.o
  HOSTLD   /home/masahiro/ref/linux/tools/objtool/fixdep-in.o
  LINK     /home/masahiro/ref/linux/tools/objtool/fixdep
  CC       /home/masahiro/ref/linux/tools/objtool/exec-cmd.o
  CC       /home/masahiro/ref/linux/tools/objtool/help.o
  CC       /home/masahiro/ref/linux/tools/objtool/pager.o
  CC       /home/masahiro/ref/linux/tools/objtool/parse-options.o
  CC       /home/masahiro/ref/linux/tools/objtool/run-command.o
  CC       /home/masahiro/ref/linux/tools/objtool/sigchain.o
  CC       /home/masahiro/ref/linux/tools/objtool/subcmd-config.o
  LD       /home/masahiro/ref/linux/tools/objtool/libsubcmd-in.o
  AR       /home/masahiro/ref/linux/tools/objtool/libsubcmd.a
  CC       /home/masahiro/ref/linux/tools/objtool/arch/x86/decode.o
  LD       /home/masahiro/ref/linux/tools/objtool/arch/x86/objtool-in.o
  CC       /home/masahiro/ref/linux/tools/objtool/builtin-check.o
  CC       /home/masahiro/ref/linux/tools/objtool/builtin-orc.o
  CC       /home/masahiro/ref/linux/tools/objtool/check.o
  CC       /home/masahiro/ref/linux/tools/objtool/orc_gen.o
  CC       /home/masahiro/ref/linux/tools/objtool/orc_dump.o
  CC       /home/masahiro/ref/linux/tools/objtool/elf.o
  CC       /home/masahiro/ref/linux/tools/objtool/special.o
  CC       /home/masahiro/ref/linux/tools/objtool/objtool.o
  CC       /home/masahiro/ref/linux/tools/objtool/libstring.o
  CC       /home/masahiro/ref/linux/tools/objtool/str_error_r.o
  LD       /home/masahiro/ref/linux/tools/objtool/objtool-in.o
  LINK     /home/masahiro/ref/linux/tools/objtool/objtool
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/srcpos.o
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/util.o
  LEX     scripts/dtc/dtc-lexer.lex.c
  YACC    scripts/dtc/dtc-parser.tab.h
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  YACC    scripts/dtc/dtc-parser.tab.c
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  HOSTLD  scripts/dtc/dtc
  HOSTCC  scripts/genksyms/genksyms.o
  YACC    scripts/genksyms/parse.tab.c
  HOSTCC  scripts/genksyms/parse.tab.o
  LEX     scripts/genksyms/lex.lex.c
  YACC    scripts/genksyms/parse.tab.h
  HOSTCC  scripts/genksyms/lex.lex.o
  HOSTLD  scripts/genksyms/genksyms
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  CC      scripts/mod/devicetable-offsets.s
  CHK     scripts/mod/devicetable-offsets.h
  UPD     scripts/mod/devicetable-offsets.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  HOSTCC  scripts/selinux/genheaders/genheaders
  HOSTCC  scripts/selinux/mdp/mdp
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/pnmtologo
  HOSTCC  scripts/conmakehash
  HOSTCC  scripts/recordmcount
  HOSTCC  scripts/sortextable
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/sign-file
  HOSTCC  scripts/extract-cert
  HOSTCC  scripts/insert-sys-cert
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/ucode_loader.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/antsel.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/pmu.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/rate.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/stf.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_cmn.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.o
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In
function ‘wlc_phy_workarounds_nphy_rev7’:
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16563:1:
warning: the frame size of 3128 bytes is larger than 2048 bytes
[-Wframe-larger-than=]
 }
 ^
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In
function ‘wlc_phy_workarounds_nphy_rev3’:
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16905:1:
warning: the frame size of 2800 bytes is larger than 2048 bytes
[-Wframe-larger-than=]
 }
 ^
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In
function ‘wlc_phy_cal_txiqlo_nphy’:
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:26033:1:
warning: the frame size of 2488 bytes is larger than 2048 bytes
[-Wframe-larger-than=]
 }
 ^
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phytbl_lcn.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phytbl_n.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_qmath.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/dma.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_events.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/debug.o
  CC [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/led.o
  LD [M]  drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcmsmac.o




> Regardless, I can confirm that CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL
> trips it. I'll investigate more tomorrow...
>
> -Kees
>
> --
> Kees Cook
> Pixel Security



-- 
Best Regards
Masahiro Yamada

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2018-05-31  1:26   ` Kees Cook
@ 2018-05-31  3:53     ` Kees Cook
  2018-06-01  1:56       ` Masahiro Yamada
  0 siblings, 1 reply; 34+ messages in thread
From: Kees Cook @ 2018-05-31  3:53 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Stephen Rothwell, Linux-Next Mailing List, Linux Kernel Mailing List

On Wed, May 30, 2018 at 6:26 PM, Kees Cook <keescook@chromium.org> wrote:
> On Wed, May 30, 2018 at 6:12 PM, Masahiro Yamada
> <yamada.masahiro@socionext.com> wrote:
>> Hi.
>> (+CC Kees)
>>
>> 2018-05-31 7:40 GMT+09:00 Stephen Rothwell <sfr@canb.auug.org.au>:
>>> Hi Masahiro,
>>>
>>> After merging the kbuild tree, today's linux-next build (x86_64
>>> allmodconfig) produced these warnings:
>>>
>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy_rev7':
>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16563:1: warning: the frame size of 3136 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>>>  }
>>>  ^
>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy_rev3':
>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16905:1: warning: the frame size of 2872 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>>>  }
>>>  ^
>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_cal_txiqlo_nphy':
>>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:26033:1: warning: the frame size of 2432 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>>>  }
>>>  ^
>>>
>>> I have no idea what caused these warnings to appear ... nothing in those
>>> functions looks too bad.
>>
>>
>> This has been triggered by the following commit:
>>
>>
>> commit 0e461945f3504e09b8ecf947b6398adce1287a28
>> Author: Masahiro Yamada <yamada.masahiro@socionext.com>
>> Date:   Mon May 28 18:22:07 2018 +0900
>>
>>     gcc-plugins: allow to enable GCC_PLUGINS for COMPILE_TEST
>>
>>
>>
>> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL was previously disabled
>> for COMPILE_TEST, which is now enabled.
>
> Weird -- I do build tests with plugins enabled pretty regularly. I
> hadn't seen this before. I'll see if I can figure out what the
> combination is...

Weirdly, I only see this after merging kbuild/for-next into
next-20180530. (I don't get the warning if I just force the plugins
on.)

Regardless, I can confirm that CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL
trips it. I'll investigate more tomorrow...

-Kees

-- 
Kees Cook
Pixel Security

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2018-05-31  1:12 ` Masahiro Yamada
@ 2018-05-31  1:26   ` Kees Cook
  2018-05-31  3:53     ` Kees Cook
  0 siblings, 1 reply; 34+ messages in thread
From: Kees Cook @ 2018-05-31  1:26 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Stephen Rothwell, Linux-Next Mailing List, Linux Kernel Mailing List

On Wed, May 30, 2018 at 6:12 PM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> Hi.
> (+CC Kees)
>
> 2018-05-31 7:40 GMT+09:00 Stephen Rothwell <sfr@canb.auug.org.au>:
>> Hi Masahiro,
>>
>> After merging the kbuild tree, today's linux-next build (x86_64
>> allmodconfig) produced these warnings:
>>
>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy_rev7':
>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16563:1: warning: the frame size of 3136 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>>  }
>>  ^
>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy_rev3':
>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16905:1: warning: the frame size of 2872 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>>  }
>>  ^
>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_cal_txiqlo_nphy':
>> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:26033:1: warning: the frame size of 2432 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>>  }
>>  ^
>>
>> I have no idea what caused these warnings to appear ... nothing in those
>> functions looks too bad.
>
>
> This has been triggered by the following commit:
>
>
> commit 0e461945f3504e09b8ecf947b6398adce1287a28
> Author: Masahiro Yamada <yamada.masahiro@socionext.com>
> Date:   Mon May 28 18:22:07 2018 +0900
>
>     gcc-plugins: allow to enable GCC_PLUGINS for COMPILE_TEST
>
>
>
> CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL was previously disabled
> for COMPILE_TEST, which is now enabled.

Weird -- I do build tests with plugins enabled pretty regularly. I
hadn't seen this before. I'll see if I can figure out what the
combination is...

> COMPILE_TEST now enables GCC plugin for wider test coverage,
> this is a good thing in general.

Yes indeed!

-Kees

-- 
Kees Cook
Pixel Security

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2018-05-30 22:40 Stephen Rothwell
@ 2018-05-31  1:12 ` Masahiro Yamada
  2018-05-31  1:26   ` Kees Cook
  0 siblings, 1 reply; 34+ messages in thread
From: Masahiro Yamada @ 2018-05-31  1:12 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Kees Cook

Hi.
(+CC Kees)

2018-05-31 7:40 GMT+09:00 Stephen Rothwell <sfr@canb.auug.org.au>:
> Hi Masahiro,
>
> After merging the kbuild tree, today's linux-next build (x86_64
> allmodconfig) produced these warnings:
>
> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy_rev7':
> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16563:1: warning: the frame size of 3136 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>  }
>  ^
> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy_rev3':
> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16905:1: warning: the frame size of 2872 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>  }
>  ^
> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_cal_txiqlo_nphy':
> drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:26033:1: warning: the frame size of 2432 bytes is larger than 2048 bytes [-Wframe-larger-than=]
>  }
>  ^
>
> I have no idea what caused these warnings to appear ... nothing in those
> functions looks too bad.


This has been triggered by the following commit:


commit 0e461945f3504e09b8ecf947b6398adce1287a28
Author: Masahiro Yamada <yamada.masahiro@socionext.com>
Date:   Mon May 28 18:22:07 2018 +0900

    gcc-plugins: allow to enable GCC_PLUGINS for COMPILE_TEST



CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL was previously disabled
for COMPILE_TEST, which is now enabled.



COMPILE_TEST now enables GCC plugin for wider test coverage,
this is a good thing in general.





-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 34+ messages in thread

* linux-next: build warnings after merge of the kbuild tree
@ 2018-05-30 22:40 Stephen Rothwell
  2018-05-31  1:12 ` Masahiro Yamada
  0 siblings, 1 reply; 34+ messages in thread
From: Stephen Rothwell @ 2018-05-30 22:40 UTC (permalink / raw)
  To: Masahiro Yamada; +Cc: Linux-Next Mailing List, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 1075 bytes --]

Hi Masahiro,

After merging the kbuild tree, today's linux-next build (x86_64
allmodconfig) produced these warnings:

drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy_rev7':
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16563:1: warning: the frame size of 3136 bytes is larger than 2048 bytes [-Wframe-larger-than=]
 }
 ^
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_workarounds_nphy_rev3':
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:16905:1: warning: the frame size of 2872 bytes is larger than 2048 bytes [-Wframe-larger-than=]
 }
 ^
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c: In function 'wlc_phy_cal_txiqlo_nphy':
drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c:26033:1: warning: the frame size of 2432 bytes is larger than 2048 bytes [-Wframe-larger-than=]
 }
 ^

I have no idea what caused these warnings to appear ... nothing in those
functions looks too bad.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 34+ messages in thread

* linux-next: build warnings after merge of the kbuild tree
@ 2017-07-19  0:05 Stephen Rothwell
  0 siblings, 0 replies; 34+ messages in thread
From: Stephen Rothwell @ 2017-07-19  0:05 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Stephen Boyd,
	Rob Clark, Bjorn Andersson

Hi all,

After merging the kbuild tree, today's linux-next build (x86_64
allmodconfig) produced these warnings:

WARNING: drivers/atm/fore_200e.o(.rodata+0x2258): Section mismatch in reference from the variable fore200e_bus to the function .init.text:fore200e_pca_prom_read()
The variable fore200e_bus references
the function __init fore200e_pca_prom_read()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/auxdisplay/panel.o(.rodata+0x560): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/auxdisplay/panel.o(.rodata+0x568): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/auxdisplay/panel.o(.rodata+0x570): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/auxdisplay/panel.o(.rodata+0x578): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/auxdisplay/panel.o(.rodata+0x580): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/auxdisplay/panel.o(.rodata+0x588): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/amd64_edac_mod.o(.rodata+0x3700): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/amd64_edac_mod.o(.rodata+0x3708): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/amd64_edac_mod.o(.rodata+0x3710): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/amd64_edac_mod.o(.rodata+0x3718): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/amd64_edac_mod.o(.rodata+0x3720): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/amd64_edac_mod.o(.rodata+0x3728): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/amd64_edac_mod.o(.rodata+0x3730): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/amd64_edac_mod.o(.rodata+0x3738): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/amd64_edac_mod.o(.rodata+0x3740): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/edac_mce_amd.o(.rodata+0x27c0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/edac_mce_amd.o(.rodata+0x27c8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/edac_mce_amd.o(.rodata+0x27d0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/edac_mce_amd.o(.rodata+0x27d8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/edac_mce_amd.o(.rodata+0x27e0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/edac_mce_amd.o(.rodata+0x27e8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/edac_mce_amd.o(.rodata+0x27f0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/edac_mce_amd.o(.rodata+0x27f8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/edac_mce_amd.o(.rodata+0x2800): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/sb_edac.o(.rodata+0x2d00): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/sb_edac.o(.rodata+0x2d08): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/sb_edac.o(.rodata+0x2d10): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/sb_edac.o(.rodata+0x2d18): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/sb_edac.o(.rodata+0x2d20): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/skx_edac.o(.rodata+0x1160): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/skx_edac.o(.rodata+0x1168): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/skx_edac.o(.rodata+0x1170): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/skx_edac.o(.rodata+0x1178): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/skx_edac.o(.rodata+0x1180): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/edac/skx_edac.o(.rodata+0x1188): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x10): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x18): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x20): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x28): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x30): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x38): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x40): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x48): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x50): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x58): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x3e8): Section mismatch in reference from the (unknown reference) (unknown) to the function .init.text:ibft_init()
The variable (unknown) references
the function __init ibft_init()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x3f0): Section mismatch in reference from the (unknown reference) (unknown) to the function .init.text:ibft_init()
The variable (unknown) references
the function __init ibft_init()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x3f8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x400): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x408): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x410): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x418): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x880): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x888): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x890): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x898): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x8a0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/firmware/iscsi_ibft.o(.rodata+0x8a8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/iio/imu/inv_mpu6050/inv-mpu6050-i2c.o(.rodata+0x8e0): Section mismatch in reference from the variable inv_mpu_dev_list to the function .init.text:asus_t100_matched()
The variable inv_mpu_dev_list references
the function __init asus_t100_matched()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1400): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1408): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1410): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1418): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1420): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1428): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1430): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1438): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1440): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1448): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1450): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1458): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1460): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1468): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1470): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1478): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1480): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1488): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1490): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1498): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x14a0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x14a8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x14b0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x14b8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x14c0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x14c8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x14d0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x14d8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x14e0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x14e8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x14f0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x14f8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1500): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1508): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1510): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1518): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1520): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1528): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/isdn/hisax/hisax.o(.rodata+0x1530): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/irda/smsc-ircc2.o(.rodata+0xb80): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/irda/smsc-ircc2.o(.rodata+0xb88): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/irda/smsc-ircc2.o(.rodata+0xb90): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/irda/smsc-ircc2.o(.rodata+0xb98): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/irda/smsc-ircc2.o(.rodata+0xba0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/irda/smsc-ircc2.o(.rodata+0xba8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/irda/smsc-ircc2.o(.rodata+0xbb0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/irda/smsc-ircc2.o(.rodata+0xbb8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x18e0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x18e8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x18f0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x18f8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x1900): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x1908): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x1910): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x1918): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x1920): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x1928): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x1930): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x1938): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x1940): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x1948): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/net/wireless/mac80211_hwsim.o(.rodata+0x1950): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1ec0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1ec8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1ed0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1ed8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1ee0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1ee8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1ef0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1ef8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1f00): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1f08): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1f10): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1f18): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1f20): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1f28): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1f30): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1f38): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1f40): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/ips.o(.rodata+0x1f48): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/qla1280.o(.rodata+0x1800): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/qla1280.o(.rodata+0x1808): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/qla1280.o(.rodata+0x1810): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/qla1280.o(.rodata+0x1818): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/scsi/qla1280.o(.rodata+0x1820): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/thermal/qcom/qcom_tsens.o(.rodata+0x9a0): Section mismatch in reference from the variable ops_8916 to the function .init.text:init_common()
The variable ops_8916 references
the function __init init_common()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/thermal/qcom/qcom_tsens.o(.rodata+0xb60): Section mismatch in reference from the variable ops_8974 to the function .init.text:init_common()
The variable ops_8974 references
the function __init init_common()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/thermal/qcom/qcom_tsens.o(.rodata+0xd20): Section mismatch in reference from the variable ops_8996 to the function .init.text:init_common()
The variable ops_8996 references
the function __init init_common()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/tty/mxser.o(.rodata+0x7c0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/tty/mxser.o(.rodata+0x7c8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/tty/mxser.o(.rodata+0x7d0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/tty/mxser.o(.rodata+0x7d8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/tty/mxser.o(.rodata+0x7e0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/tty/mxser.o(.rodata+0x7e8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/tty/mxser.o(.rodata+0x7f0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/tty/mxser.o(.rodata+0x7f8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/tty/mxser.o(.rodata+0x800): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/tty/mxser.o(.rodata+0x808): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/tty/mxser.o(.rodata+0x810): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/ibmasr.o(.rodata+0x360): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/ibmasr.o(.rodata+0x368): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/ibmasr.o(.rodata+0x370): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/ibmasr.o(.rodata+0x378): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/ibmasr.o(.rodata+0x380): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x8a8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x8b0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x8b8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x8c0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x8c8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x8d0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x8d8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x8e0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x8e8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x8f0): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x8f8): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x900): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x908): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x910): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x918): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x920): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x928): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x930): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x938): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x940): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

WARNING: drivers/watchdog/w83627hf_wdt.o(.rodata+0x948): Section mismatch in reference from the (unknown reference) (unknown) to the (unknown reference) .init.text:(unknown)
The variable (unknown) references
the (unknown reference) __init (unknown)
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

Introduced by commit

  6a007e0e602b ("kbuild: modpost: Warn about references from rodata to __init text")

It's usual to do a test build and fix as many warnings as possible before
introducing changes like this to warn about future problems.  So now that
you have a set of things to fix, I am reverting that change (since it
will keep popping up in slightly different forms all through my builds).

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-08-26  3:58               ` Nicholas Piggin
@ 2016-08-26  6:21                 ` Nicholas Mc Guire
  0 siblings, 0 replies; 34+ messages in thread
From: Nicholas Mc Guire @ 2016-08-26  6:21 UTC (permalink / raw)
  To: Nicholas Piggin
  Cc: Michal Marek, Stephen Rothwell, linux-next, PowerPC,
	linux-kernel, Al Viro, linux-kbuild

On Fri, Aug 26, 2016 at 01:58:03PM +1000, Nicholas Piggin wrote:
> On Mon, 22 Aug 2016 20:47:58 +1000
> Nicholas Piggin <npiggin@gmail.com> wrote:
> 
> > On Fri, 19 Aug 2016 20:44:55 +1000
> > Nicholas Piggin <npiggin@gmail.com> wrote:
> > 
> > > On Fri, 19 Aug 2016 10:37:00 +0200
> > > Michal Marek <mmarek@suse.cz> wrote:
> > >   
> > > > On 2016-08-19 07:09, Stephen Rothwell wrote:    
> > 
> > [snip]
> > 
> > > > > 
> > > > > I may be missing something, but genksyms generates the crc's off the
> > > > > preprocessed C source code and we don't have any for the asm files ...      
> > > > 
> > > > Of course you are right. Which means that we are losing type information
> > > > for these exports for CONFIG_MODVERSIONS purposes. I guess it's
> > > > acceptable, since the asm functions are pretty basic and their
> > > > signatures do not change.    
> > > 
> > > I don't completely agree. It would be nice to have the functionality
> > > still there.
> > > 
> > > What happens if you just run cmd_modversions on the as rule? It relies on
> > > !defined(__ASSEMBLY__), but we're feeding the result to genksyms, not as.
> > > It would require the header be included in the .S file and be protected for
> > > asm builds.  
> > 
> > 
> > This seems like it *could* be made to work, but there's a few problems.
> > 
> > - .h files are not made for C consumption. Matter of manually adding the
> > ifdef guards, which isn't terrible.
> > 
> > - .S files do not all include their .h where the C declaration is. Also
> > will cause some churn but doable and maybe not completely unreasonable.
> > 
> > - genksyms parser barfs when it hits the assembly of the .S file. Best
> > way to fix that seems just send the #include and EXPORT_SYMBOL lines
> > from the .S to the preprocessor. That's a bit of a rabbit hole too, with
> > some .S files being included, etc.
> > 
> > I'm not sure what to do here. If nobody cares and we lose CRCs for .S
> > exports, then okay we can whitelist those relocs easily. If we don't want
> > to lose the functionality, the above might work but it's a bit intrusive
> > an is going to require another cycle of prep patches to go through arch
> > code first.
> > 
> > Or suggestions for alternative approach?
> 
> Here is a quick patch that I think should catch missing CRCs in
> architecture independent way. If we merge something like this, we
> can whitelist the symbols in arch/powerpc so people get steered to
> the right place.
> 
> Powerpc seems to be the only one really catching this, and it's
> only as a side effect of a test run for CONFIG_RELOCATABLE kernels,
> which means version failures probably slipped through other archs.
> 
> I'll clean it up, do some more testing, and submit it unless
> anybody dislikes it or has a better way to do it.
> 
> Thanks,
> Nick
> 
> 
> diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
> index 4b8ffd3..1efc454 100644
> --- a/scripts/mod/modpost.c
> +++ b/scripts/mod/modpost.c
> @@ -609,6 +609,7 @@ static void handle_modversions(struct module *mod, struct elf_info *info,
>  {
>  	unsigned int crc;
>  	enum export export;
> +	int is_crc = 0;

should that not be a bool here ?

>  
>  	if ((!is_vmlinux(mod->name) || mod->is_dot_o) &&
>  	    strncmp(symname, "__ksymtab", 9) == 0)
> @@ -618,6 +619,7 @@ static void handle_modversions(struct module *mod, struct elf_info *info,
>  
>  	/* CRC'd symbol */
>  	if (strncmp(symname, CRC_PFX, strlen(CRC_PFX)) == 0) {
> +		is_crc = 1;

is_crc = true;

>  		crc = (unsigned int) sym->st_value;
>  		sym_update_crc(symname + strlen(CRC_PFX), mod, crc,
>  				export);

thx!
hofrat

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-08-22 10:47             ` Nicholas Piggin
@ 2016-08-26  3:58               ` Nicholas Piggin
  2016-08-26  6:21                 ` Nicholas Mc Guire
  0 siblings, 1 reply; 34+ messages in thread
From: Nicholas Piggin @ 2016-08-26  3:58 UTC (permalink / raw)
  To: Michal Marek
  Cc: Stephen Rothwell, linux-next, PowerPC, linux-kernel, Al Viro,
	linux-kbuild

On Mon, 22 Aug 2016 20:47:58 +1000
Nicholas Piggin <npiggin@gmail.com> wrote:

> On Fri, 19 Aug 2016 20:44:55 +1000
> Nicholas Piggin <npiggin@gmail.com> wrote:
> 
> > On Fri, 19 Aug 2016 10:37:00 +0200
> > Michal Marek <mmarek@suse.cz> wrote:
> >   
> > > On 2016-08-19 07:09, Stephen Rothwell wrote:    
> 
> [snip]
> 
> > > > 
> > > > I may be missing something, but genksyms generates the crc's off the
> > > > preprocessed C source code and we don't have any for the asm files ...      
> > > 
> > > Of course you are right. Which means that we are losing type information
> > > for these exports for CONFIG_MODVERSIONS purposes. I guess it's
> > > acceptable, since the asm functions are pretty basic and their
> > > signatures do not change.    
> > 
> > I don't completely agree. It would be nice to have the functionality
> > still there.
> > 
> > What happens if you just run cmd_modversions on the as rule? It relies on
> > !defined(__ASSEMBLY__), but we're feeding the result to genksyms, not as.
> > It would require the header be included in the .S file and be protected for
> > asm builds.  
> 
> 
> This seems like it *could* be made to work, but there's a few problems.
> 
> - .h files are not made for C consumption. Matter of manually adding the
> ifdef guards, which isn't terrible.
> 
> - .S files do not all include their .h where the C declaration is. Also
> will cause some churn but doable and maybe not completely unreasonable.
> 
> - genksyms parser barfs when it hits the assembly of the .S file. Best
> way to fix that seems just send the #include and EXPORT_SYMBOL lines
> from the .S to the preprocessor. That's a bit of a rabbit hole too, with
> some .S files being included, etc.
> 
> I'm not sure what to do here. If nobody cares and we lose CRCs for .S
> exports, then okay we can whitelist those relocs easily. If we don't want
> to lose the functionality, the above might work but it's a bit intrusive
> an is going to require another cycle of prep patches to go through arch
> code first.
> 
> Or suggestions for alternative approach?

Here is a quick patch that I think should catch missing CRCs in
architecture independent way. If we merge something like this, we
can whitelist the symbols in arch/powerpc so people get steered to
the right place.

Powerpc seems to be the only one really catching this, and it's
only as a side effect of a test run for CONFIG_RELOCATABLE kernels,
which means version failures probably slipped through other archs.

I'll clean it up, do some more testing, and submit it unless
anybody dislikes it or has a better way to do it.

Thanks,
Nick


diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 4b8ffd3..1efc454 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -609,6 +609,7 @@ static void handle_modversions(struct module *mod, struct elf_info *info,
 {
 	unsigned int crc;
 	enum export export;
+	int is_crc = 0;
 
 	if ((!is_vmlinux(mod->name) || mod->is_dot_o) &&
 	    strncmp(symname, "__ksymtab", 9) == 0)
@@ -618,6 +619,7 @@ static void handle_modversions(struct module *mod, struct elf_info *info,
 
 	/* CRC'd symbol */
 	if (strncmp(symname, CRC_PFX, strlen(CRC_PFX)) == 0) {
+		is_crc = 1;
 		crc = (unsigned int) sym->st_value;
 		sym_update_crc(symname + strlen(CRC_PFX), mod, crc,
 				export);
@@ -663,6 +665,10 @@ static void handle_modversions(struct module *mod, struct elf_info *info,
 		else
 			symname++;
 #endif
+		if (is_crc && !mod->is_dot_o) {
+			const char *e = is_vmlinux(mod->name) ?"":".ko";
+			warn("EXPORT symbol \"%s\" [%s%s] version generation failed, symbol will not be versioned.\n", symname + strlen(CRC_PFX), mod->name, e);
+		}
 		mod->unres = alloc_symbol(symname,
 					  ELF_ST_BIND(sym->st_info) == STB_WEAK,
 					  mod->unres);

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-08-19 10:44           ` Nicholas Piggin
@ 2016-08-22 10:47             ` Nicholas Piggin
  2016-08-26  3:58               ` Nicholas Piggin
  0 siblings, 1 reply; 34+ messages in thread
From: Nicholas Piggin @ 2016-08-22 10:47 UTC (permalink / raw)
  To: Michal Marek; +Cc: Stephen Rothwell, linux-next, PowerPC, linux-kernel, Al Viro

On Fri, 19 Aug 2016 20:44:55 +1000
Nicholas Piggin <npiggin@gmail.com> wrote:

> On Fri, 19 Aug 2016 10:37:00 +0200
> Michal Marek <mmarek@suse.cz> wrote:
> 
> > On 2016-08-19 07:09, Stephen Rothwell wrote:  

[snip]

> > > 
> > > I may be missing something, but genksyms generates the crc's off the
> > > preprocessed C source code and we don't have any for the asm files ...    
> > 
> > Of course you are right. Which means that we are losing type information
> > for these exports for CONFIG_MODVERSIONS purposes. I guess it's
> > acceptable, since the asm functions are pretty basic and their
> > signatures do not change.  
> 
> I don't completely agree. It would be nice to have the functionality
> still there.
> 
> What happens if you just run cmd_modversions on the as rule? It relies on
> !defined(__ASSEMBLY__), but we're feeding the result to genksyms, not as.
> It would require the header be included in the .S file and be protected for
> asm builds.


This seems like it *could* be made to work, but there's a few problems.

- .h files are not made for C consumption. Matter of manually adding the
ifdef guards, which isn't terrible.

- .S files do not all include their .h where the C declaration is. Also
will cause some churn but doable and maybe not completely unreasonable.

- genksyms parser barfs when it hits the assembly of the .S file. Best
way to fix that seems just send the #include and EXPORT_SYMBOL lines
from the .S to the preprocessor. That's a bit of a rabbit hole too, with
some .S files being included, etc.

I'm not sure what to do here. If nobody cares and we lose CRCs for .S
exports, then okay we can whitelist those relocs easily. If we don't want
to lose the functionality, the above might work but it's a bit intrusive
an is going to require another cycle of prep patches to go through arch
code first.

Or suggestions for alternative approach?

Thanks,
Nick

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-08-19  8:37         ` Michal Marek
@ 2016-08-19 10:44           ` Nicholas Piggin
  2016-08-22 10:47             ` Nicholas Piggin
  0 siblings, 1 reply; 34+ messages in thread
From: Nicholas Piggin @ 2016-08-19 10:44 UTC (permalink / raw)
  To: Michal Marek; +Cc: Stephen Rothwell, linux-next, PowerPC, linux-kernel, Al Viro

On Fri, 19 Aug 2016 10:37:00 +0200
Michal Marek <mmarek@suse.cz> wrote:

> On 2016-08-19 07:09, Stephen Rothwell wrote:
> > Hi Nick,
> > 
> > On Fri, 19 Aug 2016 13:38:54 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:  
> >>
> >> On Thu, 18 Aug 2016 11:09:48 +1000 Nicholas Piggin <npiggin@gmail.com> wrote:  
> >>>
> >>> On Wed, 17 Aug 2016 14:59:59 +0200
> >>> Michal Marek <mmarek@suse.cz> wrote:
> >>>     
> >>>> On 2016-08-17 03:44, Stephen Rothwell wrote:      
> >>>>>
> >>>>> After merging the kbuild tree, today's linux-next build (powerpc
> >>>>> ppc64_defconfig) produced these warnings:
> >>>>>
> >>>>> WARNING: 25 bad relocations
> >>>>> c000000000cf2570 R_PPC64_ADDR64    __crc___arch_hweight16        
> >>>> [...]      
> >>>>> Introduced by commit
> >>>>>
> >>>>>   9445aa1a3062 ("ppc: move exports to definitions")
> >>>>>
> >>>>> I have reverted that commit for today.
> >>>>>
> >>>>> [cc-ing the ppc guys for clues - also involved is commit
> >>>>>
> >>>>>   22823ab419d8 ("EXPORT_SYMBOL() for asm")
> >>>>> ]        
> >>>>
> >>>> FWIW, I see these warnings as well. Any help from ppc developers is
> >>>> appreciated - should the R_PPC64_ADDR64 be whitelisted for exported asm
> >>>> symbols (their CRCs actually)?      
> >>>
> >>> The dangling relocation is a side effect of linker unable to resolve the
> >>> reference to the undefined weak symbols. So the real question is, why has
> >>> genksyms not overridden these symbols with their CRC values?
> >>>
> >>> This may not even be powerpc specific, but  I'll poke at it a bit more
> >>> when I get a chance.    
> >>
> >> Not sure if this is relevant, but with the commit reverted, the
> >> __crc___... symbols are absolute.
> >>
> >> 00000000f55b3b3d A __crc___arch_hweight16  
> > 
> > Ignore that :-)
> > 
> > I just had a look at a x86_64 allmodconfig result and it looks like the
> > weak symbols are not resolved their either ...
> > 
> > I may be missing something, but genksyms generates the crc's off the
> > preprocessed C source code and we don't have any for the asm files ...  
> 
> Of course you are right. Which means that we are losing type information
> for these exports for CONFIG_MODVERSIONS purposes. I guess it's
> acceptable, since the asm functions are pretty basic and their
> signatures do not change.

I don't completely agree. It would be nice to have the functionality
still there.

What happens if you just run cmd_modversions on the as rule? It relies on
!defined(__ASSEMBLY__), but we're feeding the result to genksyms, not as.
It would require the header be included in the .S file and be protected for
asm builds.

Stephen wasn't a fan of suck a hack and I can't say I blame him. Another
possibility I suppose is an EXPORT_SYMBOL_ASM() variant that takes string
containing C function declaration and just inserts it as an assembler
comment somewhere that genksysms can find.


Thanks,
Nick

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-08-19  5:09       ` Stephen Rothwell
  2016-08-19  5:32         ` Nicholas Piggin
@ 2016-08-19  8:37         ` Michal Marek
  2016-08-19 10:44           ` Nicholas Piggin
  1 sibling, 1 reply; 34+ messages in thread
From: Michal Marek @ 2016-08-19  8:37 UTC (permalink / raw)
  To: Stephen Rothwell, Nicholas Piggin
  Cc: linux-kernel, linux-next, Al Viro, PowerPC

On 2016-08-19 07:09, Stephen Rothwell wrote:
> Hi Nick,
> 
> On Fri, 19 Aug 2016 13:38:54 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>>
>> On Thu, 18 Aug 2016 11:09:48 +1000 Nicholas Piggin <npiggin@gmail.com> wrote:
>>>
>>> On Wed, 17 Aug 2016 14:59:59 +0200
>>> Michal Marek <mmarek@suse.cz> wrote:
>>>   
>>>> On 2016-08-17 03:44, Stephen Rothwell wrote:    
>>>>>
>>>>> After merging the kbuild tree, today's linux-next build (powerpc
>>>>> ppc64_defconfig) produced these warnings:
>>>>>
>>>>> WARNING: 25 bad relocations
>>>>> c000000000cf2570 R_PPC64_ADDR64    __crc___arch_hweight16      
>>>> [...]    
>>>>> Introduced by commit
>>>>>
>>>>>   9445aa1a3062 ("ppc: move exports to definitions")
>>>>>
>>>>> I have reverted that commit for today.
>>>>>
>>>>> [cc-ing the ppc guys for clues - also involved is commit
>>>>>
>>>>>   22823ab419d8 ("EXPORT_SYMBOL() for asm")
>>>>> ]      
>>>>
>>>> FWIW, I see these warnings as well. Any help from ppc developers is
>>>> appreciated - should the R_PPC64_ADDR64 be whitelisted for exported asm
>>>> symbols (their CRCs actually)?    
>>>
>>> The dangling relocation is a side effect of linker unable to resolve the
>>> reference to the undefined weak symbols. So the real question is, why has
>>> genksyms not overridden these symbols with their CRC values?
>>>
>>> This may not even be powerpc specific, but  I'll poke at it a bit more
>>> when I get a chance.  
>>
>> Not sure if this is relevant, but with the commit reverted, the
>> __crc___... symbols are absolute.
>>
>> 00000000f55b3b3d A __crc___arch_hweight16
> 
> Ignore that :-)
> 
> I just had a look at a x86_64 allmodconfig result and it looks like the
> weak symbols are not resolved their either ...
> 
> I may be missing something, but genksyms generates the crc's off the
> preprocessed C source code and we don't have any for the asm files ...

Of course you are right. Which means that we are losing type information
for these exports for CONFIG_MODVERSIONS purposes. I guess it's
acceptable, since the asm functions are pretty basic and their
signatures do not change.

Michal

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-08-19  5:09       ` Stephen Rothwell
@ 2016-08-19  5:32         ` Nicholas Piggin
  2016-08-19  8:37         ` Michal Marek
  1 sibling, 0 replies; 34+ messages in thread
From: Nicholas Piggin @ 2016-08-19  5:32 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Michal Marek, linux-kernel, linux-next, Al Viro, PowerPC

On Fri, 19 Aug 2016 15:09:14 +1000
Stephen Rothwell <sfr@canb.auug.org.au> wrote:

> Hi Nick,
> 
> On Fri, 19 Aug 2016 13:38:54 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > On Thu, 18 Aug 2016 11:09:48 +1000 Nicholas Piggin <npiggin@gmail.com> wrote:  
> > >
> > > On Wed, 17 Aug 2016 14:59:59 +0200
> > > Michal Marek <mmarek@suse.cz> wrote:
> > >     
> > > > On 2016-08-17 03:44, Stephen Rothwell wrote:      
> > > > > 
> > > > > After merging the kbuild tree, today's linux-next build (powerpc
> > > > > ppc64_defconfig) produced these warnings:
> > > > > 
> > > > > WARNING: 25 bad relocations
> > > > > c000000000cf2570 R_PPC64_ADDR64    __crc___arch_hweight16        
> > > > [...]      
> > > > > Introduced by commit
> > > > > 
> > > > >   9445aa1a3062 ("ppc: move exports to definitions")
> > > > > 
> > > > > I have reverted that commit for today.
> > > > > 
> > > > > [cc-ing the ppc guys for clues - also involved is commit
> > > > > 
> > > > >   22823ab419d8 ("EXPORT_SYMBOL() for asm")
> > > > > ]        
> > > > 
> > > > FWIW, I see these warnings as well. Any help from ppc developers is
> > > > appreciated - should the R_PPC64_ADDR64 be whitelisted for exported asm
> > > > symbols (their CRCs actually)?      
> > > 
> > > The dangling relocation is a side effect of linker unable to resolve the
> > > reference to the undefined weak symbols. So the real question is, why has
> > > genksyms not overridden these symbols with their CRC values?
> > > 
> > > This may not even be powerpc specific, but  I'll poke at it a bit more
> > > when I get a chance.    
> > 
> > Not sure if this is relevant, but with the commit reverted, the
> > __crc___... symbols are absolute.
> > 
> > 00000000f55b3b3d A __crc___arch_hweight16  
> 
> Ignore that :-)
> 
> I just had a look at a x86_64 allmodconfig result and it looks like the
> weak symbols are not resolved their either ...
> 
> I may be missing something, but genksyms generates the crc's off the
> preprocessed C source code and we don't have any for the asm files ...

Looks like you're right, good find!

Thanks,
Nick

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-08-19  3:38     ` Stephen Rothwell
@ 2016-08-19  5:09       ` Stephen Rothwell
  2016-08-19  5:32         ` Nicholas Piggin
  2016-08-19  8:37         ` Michal Marek
  0 siblings, 2 replies; 34+ messages in thread
From: Stephen Rothwell @ 2016-08-19  5:09 UTC (permalink / raw)
  To: Nicholas Piggin; +Cc: Michal Marek, linux-next, PowerPC, linux-kernel, Al Viro

Hi Nick,

On Fri, 19 Aug 2016 13:38:54 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> On Thu, 18 Aug 2016 11:09:48 +1000 Nicholas Piggin <npiggin@gmail.com> wrote:
> >
> > On Wed, 17 Aug 2016 14:59:59 +0200
> > Michal Marek <mmarek@suse.cz> wrote:
> >   
> > > On 2016-08-17 03:44, Stephen Rothwell wrote:    
> > > > 
> > > > After merging the kbuild tree, today's linux-next build (powerpc
> > > > ppc64_defconfig) produced these warnings:
> > > > 
> > > > WARNING: 25 bad relocations
> > > > c000000000cf2570 R_PPC64_ADDR64    __crc___arch_hweight16      
> > > [...]    
> > > > Introduced by commit
> > > > 
> > > >   9445aa1a3062 ("ppc: move exports to definitions")
> > > > 
> > > > I have reverted that commit for today.
> > > > 
> > > > [cc-ing the ppc guys for clues - also involved is commit
> > > > 
> > > >   22823ab419d8 ("EXPORT_SYMBOL() for asm")
> > > > ]      
> > > 
> > > FWIW, I see these warnings as well. Any help from ppc developers is
> > > appreciated - should the R_PPC64_ADDR64 be whitelisted for exported asm
> > > symbols (their CRCs actually)?    
> > 
> > The dangling relocation is a side effect of linker unable to resolve the
> > reference to the undefined weak symbols. So the real question is, why has
> > genksyms not overridden these symbols with their CRC values?
> > 
> > This may not even be powerpc specific, but  I'll poke at it a bit more
> > when I get a chance.  
> 
> Not sure if this is relevant, but with the commit reverted, the
> __crc___... symbols are absolute.
> 
> 00000000f55b3b3d A __crc___arch_hweight16

Ignore that :-)

I just had a look at a x86_64 allmodconfig result and it looks like the
weak symbols are not resolved their either ...

I may be missing something, but genksyms generates the crc's off the
preprocessed C source code and we don't have any for the asm files ...
-- 
Cheers,
Stephen Rothwell

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-08-18  1:09   ` Nicholas Piggin
@ 2016-08-19  3:38     ` Stephen Rothwell
  2016-08-19  5:09       ` Stephen Rothwell
  0 siblings, 1 reply; 34+ messages in thread
From: Stephen Rothwell @ 2016-08-19  3:38 UTC (permalink / raw)
  To: Nicholas Piggin; +Cc: Michal Marek, linux-next, PowerPC, linux-kernel, Al Viro

Hi Nick,

On Thu, 18 Aug 2016 11:09:48 +1000 Nicholas Piggin <npiggin@gmail.com> wrote:
>
> On Wed, 17 Aug 2016 14:59:59 +0200
> Michal Marek <mmarek@suse.cz> wrote:
> 
> > On 2016-08-17 03:44, Stephen Rothwell wrote:  
> > > 
> > > After merging the kbuild tree, today's linux-next build (powerpc
> > > ppc64_defconfig) produced these warnings:
> > > 
> > > WARNING: 25 bad relocations
> > > c000000000cf2570 R_PPC64_ADDR64    __crc___arch_hweight16    
> > [...]  
> > > Introduced by commit
> > > 
> > >   9445aa1a3062 ("ppc: move exports to definitions")
> > > 
> > > I have reverted that commit for today.
> > > 
> > > [cc-ing the ppc guys for clues - also involved is commit
> > > 
> > >   22823ab419d8 ("EXPORT_SYMBOL() for asm")
> > > ]    
> > 
> > FWIW, I see these warnings as well. Any help from ppc developers is
> > appreciated - should the R_PPC64_ADDR64 be whitelisted for exported asm
> > symbols (their CRCs actually)?  
> 
> The dangling relocation is a side effect of linker unable to resolve the
> reference to the undefined weak symbols. So the real question is, why has
> genksyms not overridden these symbols with their CRC values?
> 
> This may not even be powerpc specific, but  I'll poke at it a bit more
> when I get a chance.

Not sure if this is relevant, but with the commit reverted, the
__crc___... symbols are absolute.

00000000f55b3b3d A __crc___arch_hweight16

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-08-17 12:59 ` Michal Marek
@ 2016-08-18  1:09   ` Nicholas Piggin
  2016-08-19  3:38     ` Stephen Rothwell
  0 siblings, 1 reply; 34+ messages in thread
From: Nicholas Piggin @ 2016-08-18  1:09 UTC (permalink / raw)
  To: Michal Marek; +Cc: Stephen Rothwell, linux-kernel, linux-next, Al Viro, PowerPC

On Wed, 17 Aug 2016 14:59:59 +0200
Michal Marek <mmarek@suse.cz> wrote:

> On 2016-08-17 03:44, Stephen Rothwell wrote:
> > Hi Michal,
> > 
> > After merging the kbuild tree, today's linux-next build (powerpc
> > ppc64_defconfig) produced these warnings:
> > 
> > WARNING: 25 bad relocations
> > c000000000cf2570 R_PPC64_ADDR64    __crc___arch_hweight16  
> [...]
> > Introduced by commit
> > 
> >   9445aa1a3062 ("ppc: move exports to definitions")
> > 
> > I have reverted that commit for today.
> > 
> > [cc-ing the ppc guys for clues - also involved is commit
> > 
> >   22823ab419d8 ("EXPORT_SYMBOL() for asm")
> > ]  
> 
> FWIW, I see these warnings as well. Any help from ppc developers is
> appreciated - should the R_PPC64_ADDR64 be whitelisted for exported asm
> symbols (their CRCs actually)?

The dangling relocation is a side effect of linker unable to resolve the
reference to the undefined weak symbols. So the real question is, why has
genksyms not overridden these symbols with their CRC values?

This may not even be powerpc specific, but  I'll poke at it a bit more
when I get a chance.

Thanks,
Nick

^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: linux-next: build warnings after merge of the kbuild tree
  2016-08-17  1:44 Stephen Rothwell
@ 2016-08-17 12:59 ` Michal Marek
  2016-08-18  1:09   ` Nicholas Piggin
  0 siblings, 1 reply; 34+ messages in thread
From: Michal Marek @ 2016-08-17 12:59 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: linux-next, linux-kernel, Al Viro, Michael Ellerman,
	Benjamin Herrenschmidt, PowerPC

On 2016-08-17 03:44, Stephen Rothwell wrote:
> Hi Michal,
> 
> After merging the kbuild tree, today's linux-next build (powerpc
> ppc64_defconfig) produced these warnings:
> 
> WARNING: 25 bad relocations
> c000000000cf2570 R_PPC64_ADDR64    __crc___arch_hweight16
[...]
> Introduced by commit
> 
>   9445aa1a3062 ("ppc: move exports to definitions")
> 
> I have reverted that commit for today.
> 
> [cc-ing the ppc guys for clues - also involved is commit
> 
>   22823ab419d8 ("EXPORT_SYMBOL() for asm")
> ]

FWIW, I see these warnings as well. Any help from ppc developers is
appreciated - should the R_PPC64_ADDR64 be whitelisted for exported asm
symbols (their CRCs actually)?

Thanks,
Michal

^ permalink raw reply	[flat|nested] 34+ messages in thread

* linux-next: build warnings after merge of the kbuild tree
@ 2016-08-17  1:44 Stephen Rothwell
  2016-08-17 12:59 ` Michal Marek
  0 siblings, 1 reply; 34+ messages in thread
From: Stephen Rothwell @ 2016-08-17  1:44 UTC (permalink / raw)
  To: Michal Marek
  Cc: linux-next, linux-kernel, Al Viro, Michael Ellerman,
	Benjamin Herrenschmidt, PowerPC

Hi Michal,

After merging the kbuild tree, today's linux-next build (powerpc
ppc64_defconfig) produced these warnings:

WARNING: 25 bad relocations
c000000000cf2570 R_PPC64_ADDR64    __crc___arch_hweight16
c000000000cf2578 R_PPC64_ADDR64    __crc___arch_hweight32
c000000000cf2580 R_PPC64_ADDR64    __crc___arch_hweight64
c000000000cf2588 R_PPC64_ADDR64    __crc___arch_hweight8
c000000000cf2678 R_PPC64_ADDR64    __crc___bswapdi2
c000000000cf2690 R_PPC64_ADDR64    __crc___clear_user
c000000000cf26b8 R_PPC64_ADDR64    __crc___copy_tofrom_user
c000000000cf2728 R_PPC64_ADDR64    __crc___csum_partial
c000000000cf3f90 R_PPC64_ADDR64    __crc_copy_page
c000000000cf40e0 R_PPC64_ADDR64    __crc_csum_partial_copy_generic
c000000000cf4100 R_PPC64_ADDR64    __crc_current_stack_pointer
c000000000cf4928 R_PPC64_ADDR64    __crc_empty_zero_page
c000000000cf4db0 R_PPC64_ADDR64    __crc_flush_dcache_range
c000000000cf4dc0 R_PPC64_ADDR64    __crc_flush_icache_range
c000000000cf6470 R_PPC64_ADDR64    __crc_load_fp_state
c000000000cf6488 R_PPC64_ADDR64    __crc_load_vr_state
c000000000cf68d0 R_PPC64_ADDR64    __crc_memchr
c000000000cf68e0 R_PPC64_ADDR64    __crc_memcmp
c000000000cf68e8 R_PPC64_ADDR64    __crc_memcpy
c000000000cf6900 R_PPC64_ADDR64    __crc_memmove
c000000000cf6988 R_PPC64_ADDR64    __crc_memset
c000000000cf9328 R_PPC64_ADDR64    __crc_store_fp_state
c000000000cf9330 R_PPC64_ADDR64    __crc_store_vr_state
c000000000cf93d0 R_PPC64_ADDR64    __crc_strncmp
c000000000cf93d8 R_PPC64_ADDR64    __crc_strncpy

Introduced by commit

  9445aa1a3062 ("ppc: move exports to definitions")

I have reverted that commit for today.

[cc-ing the ppc guys for clues - also involved is commit

  22823ab419d8 ("EXPORT_SYMBOL() for asm")
]

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2022-06-01 23:28 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-09  2:22 linux-next: build warnings after merge of the kbuild tree Stephen Rothwell
2016-06-09  2:56 ` Kees Cook
2016-06-09  4:05   ` Stephen Rothwell
2016-06-09 10:57     ` Michal Marek
2016-06-09 17:37       ` Emese Revfy
2016-06-09 17:58         ` Kees Cook
2016-06-09 11:10     ` Michael Ellerman
2016-06-09 17:42 ` Emese Revfy
2016-08-17  1:44 Stephen Rothwell
2016-08-17 12:59 ` Michal Marek
2016-08-18  1:09   ` Nicholas Piggin
2016-08-19  3:38     ` Stephen Rothwell
2016-08-19  5:09       ` Stephen Rothwell
2016-08-19  5:32         ` Nicholas Piggin
2016-08-19  8:37         ` Michal Marek
2016-08-19 10:44           ` Nicholas Piggin
2016-08-22 10:47             ` Nicholas Piggin
2016-08-26  3:58               ` Nicholas Piggin
2016-08-26  6:21                 ` Nicholas Mc Guire
2017-07-19  0:05 Stephen Rothwell
2018-05-30 22:40 Stephen Rothwell
2018-05-31  1:12 ` Masahiro Yamada
2018-05-31  1:26   ` Kees Cook
2018-05-31  3:53     ` Kees Cook
2018-06-01  1:56       ` Masahiro Yamada
2018-06-01  4:01         ` Kees Cook
2018-06-02 20:39           ` Arnd Bergmann
2018-06-04  8:39             ` Arnd Bergmann
2019-09-04  0:13 Stephen Rothwell
2019-09-04  1:00 ` Masahiro Yamada
2019-09-04  6:22   ` Masahiro Yamada
2019-09-04 12:33     ` Stephen Rothwell
2019-09-04 12:32   ` Stephen Rothwell
2022-06-01 23:28 Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).