Re: [PATCH v2 19/19] objtool: Detect loading function pointers across noinstr

From: Nick Desaulniers
Date: Tue Mar 17 2020 - 19:44:02 EST


Just needs a `default:` case. From personal experience, this warning
helps you track down every switch on an enum when you add a new
enumeration value.

Ignore the dtc-lexer failure, that's a separate known issue.

On Tue, Mar 17, 2020 at 4:40 PM kbuild test robot <lkp@xxxxxxxxx> wrote:
>
> Hi Peter,
>
> I love your patch! Yet something to improve:
>
> [auto build test ERROR on tip/auto-latest]
> [also build test ERROR on next-20200317]
> [cannot apply to tip/x86/core linux/master linus/master v5.6-rc6]
> [if your patch is applied to the wrong git tree, please drop us a note to help
> improve the system. BTW, we also suggest to use '--base' option to specify the
> base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
>
> url: https://github.com/0day-ci/linux/commits/Peter-Zijlstra/objtool-vmlinux-o-and-noinstr-validation/20200318-035709
> base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 3168392536d32920349af53bdd108e3b92b10f4f
> config: x86_64-allyesconfig (attached as .config)
> compiler: clang version 11.0.0 (git://gitmirror/llvm_project 14a1b80e044aac1947c891525cf30521be0a79b7)
> reproduce:
> # FIXME the reproduce steps for clang is not ready yet
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
>
> All errors (new ones prefixed by >>):
>
> >> check.c:2131:10: error: 12 enumeration values not handled in switch: 'INSN_JUMP_DYNAMIC', 'INSN_JUMP_DYNAMIC_CONDITIONAL', 'INSN_RETURN'... [-Werror,-Wswitch]
> switch (insn->type) {
> ^
> 1 error generated.
> mv: cannot stat 'tools/objtool/.check.o.tmp': No such file or directory
> make[4]: *** [tools/build/Makefile.build:96: tools/objtool/check.o] Error 1
> /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x58): first defined here
> clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
> make[2]: *** [scripts/Makefile.host:116: scripts/dtc/dtc] Error 1
> make[2]: Target '__build' not remade because of errors.
> make[1]: *** [Makefile:1261: scripts_dtc] Error 2
> make[4]: Target '__build' not remade because of errors.
> make[3]: *** [Makefile:46: tools/objtool/objtool-in.o] Error 2
> make[3]: Target 'all' not remade because of errors.
> make[2]: *** [Makefile:68: objtool] Error 2
> make[1]: *** [Makefile:1787: tools/objtool] Error 2
> make[1]: Target 'prepare' not remade because of errors.
> make: *** [Makefile:180: sub-make] Error 2
> 10 real 23 user 18 sys 399.16% cpu make prepare
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
>
> --
> You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@xxxxxxxxxxxxxxxxx
> To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/202003180747.qU4yJl06%25lkp%40intel.com.



--
Thanks,
~Nick Desaulniers