Message ID | CAGXu5jJ_9Gbre2J1HYrY-gwnsStL8P+MKmKQwCBtY4-7m53RLA@mail.gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, 12 Jan 2017 15:40:41 -0800 Kees Cook <keescook@chromium.org> wrote: > WARNING: drivers/clk/bcm/built-in.o(.text+0xec2): Section mismatch in > reference from the function clk_gate() to the variable > .init.rodata.str:__func__.29708 > The function clk_gate() references > the variable __initconst __func__.29708. > This is often because clk_gate lacks a __initconst > annotation or the annotation of __func__.29708 is wrong. > > I used my initify v5 development tree, with the following patch, with > "make allyesconfig": > > http://git.kernel.org/cgit/linux/kernel/git/kees/linux.git/log/?h=for-next/gcc-plugin/initify Hi, I can't reproduce this mismatch with allyesconfig. Could you please send me your .config?
On Tue, Jan 17, 2017 at 12:31 PM, Emese Revfy <re.emese@gmail.com> wrote: > On Thu, 12 Jan 2017 15:40:41 -0800 > Kees Cook <keescook@chromium.org> wrote: > >> WARNING: drivers/clk/bcm/built-in.o(.text+0xec2): Section mismatch in >> reference from the function clk_gate() to the variable >> .init.rodata.str:__func__.29708 >> The function clk_gate() references >> the variable __initconst __func__.29708. >> This is often because clk_gate lacks a __initconst >> annotation or the annotation of __func__.29708 is wrong. >> >> I used my initify v5 development tree, with the following patch, with >> "make allyesconfig": >> >> http://git.kernel.org/cgit/linux/kernel/git/kees/linux.git/log/?h=for-next/gcc-plugin/initify > > Hi, > > I can't reproduce this mismatch with allyesconfig. Could you please send me your .config? Sure, attached. (Though note this requires the patch from my earlier email to allow allyesconfig to work with the plugins.) -Kees
On Thu, 12 Jan 2017 15:40:41 -0800 Kees Cook <keescook@chromium.org> wrote: > WARNING: drivers/clk/bcm/built-in.o(.text+0xec2): Section mismatch in > reference from the function clk_gate() to the variable > .init.rodata.str:__func__.29708 > The function clk_gate() references > the variable __initconst __func__.29708. > This is often because clk_gate lacks a __initconst > annotation or the annotation of __func__.29708 is wrong. Thanks for the report, it will be fixed in the next grsec patch.
On Tue, Feb 14, 2017 at 4:23 PM, Emese Revfy <re.emese@gmail.com> wrote: > On Thu, 12 Jan 2017 15:40:41 -0800 > Kees Cook <keescook@chromium.org> wrote: > >> WARNING: drivers/clk/bcm/built-in.o(.text+0xec2): Section mismatch in >> reference from the function clk_gate() to the variable >> .init.rodata.str:__func__.29708 >> The function clk_gate() references >> the variable __initconst __func__.29708. >> This is often because clk_gate lacks a __initconst >> annotation or the annotation of __func__.29708 is wrong. > > Thanks for the report, it will be fixed in the next grsec patch. Very cool, thanks! What did the problem turn out to be? -Kees
On Wed, 15 Feb 2017 11:27:06 -0800 Kees Cook <keescook@chromium.org> wrote: > On Tue, Feb 14, 2017 at 4:23 PM, Emese Revfy <re.emese@gmail.com> wrote: > > On Thu, 12 Jan 2017 15:40:41 -0800 > > Kees Cook <keescook@chromium.org> wrote: > > > >> WARNING: drivers/clk/bcm/built-in.o(.text+0xec2): Section mismatch in > >> reference from the function clk_gate() to the variable > >> .init.rodata.str:__func__.29708 > >> The function clk_gate() references > >> the variable __initconst __func__.29708. > >> This is often because clk_gate lacks a __initconst > >> annotation or the annotation of __func__.29708 is wrong. > > > > Thanks for the report, it will be fixed in the next grsec patch. > > Very cool, thanks! What did the problem turn out to be? You can find it here: https://github.com/ephox-gcc-plugins/initify/commit/73e857aa47bde7cc78ed865a008d1519893c0f54
diff --git a/arch/Kconfig b/arch/Kconfig index b6009a21ebea..5693ef5f22c8 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -359,7 +359,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