Messages in this thread | | | Date | Wed, 15 Dec 2021 13:22:21 +0800 | 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() | From | Rong Chen <> |
| |
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'
Best Regards, Rong Chen
> > I want to see what code is in your oops_end. > > It really does not make sense that simply renaming a function would > trigger this error. > > I did a full build (on debian 10 with gcc-8.3.0) and I did not manage to > reproduce this. In a bit I will try with a newer debian and see if I > can get the issue to reproduce. Still it does not make sense to me > that a simple rename would trigger this error. > > Eric >
| |