Messages in this thread | | | From | (Eric W. Biederman) | Date | Wed, 15 Dec 2021 11:36:23 -0600 | Subject | Re: [kbuild-all] Re: [ebiederm-user-namespace:signal-for-v5.17 4/12] arch/x86/kernel/dumpstack.o: warning: objtool: oops_end() falls through to next function show_opcodes() |
| |
Rong Chen <rong.a.chen@intel.com> writes:
> On 12/15/21 12:48, Eric W. Biederman wrote: >> Rong Chen <rong.a.chen@intel.com> writes: >> >>> On 12/15/21 01:29, Eric W. Biederman wrote: >>>> kernel test robot <lkp@intel.com> writes: >>>> >>>>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git signal-for-v5.17 >>>>> head: 6b1248798eb6f6d5285db214299996ecc5dc1e6b >>>>> commit: 0e25498f8cd43c1b5aa327f373dd094e9a006da7 [4/12] exit: Add and use make_task_dead. >>>>> config: x86_64-randconfig-a011-20211213 (https://download.01.org/0day-ci/archive/20211214/202112140949.Uq5sFKR1-lkp@intel.com/config) >>>>> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 >>>>> reproduce (this is a W=1 build): >>>>> # https://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git/commit/?id=0e25498f8cd43c1b5aa327f373dd094e9a006da7 >>>>> git remote add ebiederm-user-namespace https://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace.git >>>>> git fetch --no-tags ebiederm-user-namespace signal-for-v5.17 >>>>> git checkout 0e25498f8cd43c1b5aa327f373dd094e9a006da7 >>>>> # save the config file to linux build tree >>>>> mkdir build_dir >>>>> make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/kernel/ kernel/ lib/kunit/ >>>>> >>>>> If you fix the issue, kindly add following tag as appropriate >>>>> Reported-by: kernel test robot <lkp@intel.com> >>>>> >>>>> All warnings (new ones prefixed by >>): >>>>> >>>>>>> lib/kunit/kunit-example-test.o: warning: objtool: .text.unlikely: unexpected end of section >>>>> -- >>>>>>> arch/x86/kernel/dumpstack.o: warning: objtool: oops_end() falls through to next function show_opcodes() >>>> I am confused. This change patches objtool to rename >>>> rewind_stack_and_do_exit to rewind_stack_and_make_dead in the list >>>> global_noreturns in tools/objtool/check.c >>>> >>>> There is no other change to oops_end other than that renaming. >>>> >>>> Did the robot somehow mange to run an old version of objtool while >>>> building and this get this error? >>>> >>>> I tried and I am not currently able to reproduce this error. Do you >>>> have any additional pointers on how I might reproduce this? >>> Hi Eric, >>> >>> The reproduce step in report based on a full build, I can reproduce >>> the warnings with the below command: >>> >>> make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash >> Any chance you could do "make arch/x86/kernel/dumpstack.s" and send it >> to me? > > $ make O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/kernel/dumpstack.s > make[1]: Entering directory '/mnt/memdrive/linux/build_dir' > GEN Makefile > CALL ../scripts/checksyscalls.sh > CALL ../scripts/atomic/check-atomics.sh > DESCEND objtool > CC arch/x86/kernel/dumpstack.s > make[1]: Leaving directory '/mnt/memdrive/linux/build_dir' > > $ make O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/kernel/ > make[1]: Entering directory '/mnt/memdrive/linux/build_dir' > GEN Makefile > CALL ../scripts/checksyscalls.sh > CALL ../scripts/atomic/check-atomics.sh > DESCEND objtool > CC arch/x86/kernel/dumpstack.o > arch/x86/kernel/dumpstack.o: warning: objtool: oops_end() falls > through to next function show_opcodes() > AR arch/x86/kernel/built-in.a > make[1]: Leaving directory '/mnt/memdrive/linux/build_dir'
Thanks. What I was actually hoping for was the assembly code of oops_end so I could understand the objtool error.
I have tracked it down now. I accidentally deleted a comma, which caused C string concatenation which merged two symbols together, and caused this warning.
What an annoying typo.
Eric
| |