On 12/15/21 12:48, Eric W. Biederman wrote:
> Rong Chen <rong.a.chen(a)intel.com> writes:
>
>> On 12/15/21 01:29, Eric W. Biederman wrote:
>>> kernel test robot <lkp(a)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-lk...)
>>>> 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.g...
>>>> 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(a)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