2022-05-12 11:05:43

by kernel test robot

[permalink] [raw]
Subject: [ammarfaizi2-block:stable/linux-stable-rc/queue/5.15 146/150] kernel/futex.o: warning: objtool: futex_atomic_op_inuser()+0xb8: unreachable instruction

tree: https://github.com/ammarfaizi2/linux-block stable/linux-stable-rc/queue/5.15
head: 305e905f70311e1b49cc730931a19c3e364f4d8c
commit: 45dc9d706619a6814e4063d5431483f94badb5a1 [146/150] x86: Add straight-line-speculation mitigation
config: x86_64-randconfig-m001-20220509 (https://download.01.org/0day-ci/archive/20220512/[email protected]/config)
compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
reproduce (this is a W=1 build):
# https://github.com/ammarfaizi2/linux-block/commit/45dc9d706619a6814e4063d5431483f94badb5a1
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block stable/linux-stable-rc/queue/5.15
git checkout 45dc9d706619a6814e4063d5431483f94badb5a1
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>

All warnings (new ones prefixed by >>):

>> kernel/futex.o: warning: objtool: futex_atomic_op_inuser()+0xb8: unreachable instruction
--
>> mm/madvise.o: warning: objtool: madvise_behavior()+0x69: unreachable instruction
--
>> kernel/bpf/btf.o: warning: objtool: __btf_resolve_size()+0x72: unreachable instruction

--
0-DAY CI Kernel Test Service
https://01.org/lkp


2022-05-13 11:58:06

by Josh Poimboeuf

[permalink] [raw]
Subject: Re: [ammarfaizi2-block:stable/linux-stable-rc/queue/5.15 146/150] kernel/futex.o: warning: objtool: futex_atomic_op_inuser()+0xb8: unreachable instruction

On Thu, May 12, 2022 at 10:17:09AM +0200, Peter Zijlstra wrote:
> On Thu, May 12, 2022 at 10:00:33AM +0800, kernel test robot wrote:
> > tree: https://github.com/ammarfaizi2/linux-block stable/linux-stable-rc/queue/5.15
> > head: 305e905f70311e1b49cc730931a19c3e364f4d8c
> > commit: 45dc9d706619a6814e4063d5431483f94badb5a1 [146/150] x86: Add straight-line-speculation mitigation
> > config: x86_64-randconfig-m001-20220509 (https://download.01.org/0day-ci/archive/20220512/[email protected]/config)
> > compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
> > reproduce (this is a W=1 build):
> > # https://github.com/ammarfaizi2/linux-block/commit/45dc9d706619a6814e4063d5431483f94badb5a1
> > git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
> > git fetch --no-tags ammarfaizi2-block stable/linux-stable-rc/queue/5.15
> > git checkout 45dc9d706619a6814e4063d5431483f94badb5a1
> > # save the config file
> > mkdir build_dir && cp config build_dir/.config
> > make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
> >
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <[email protected]>
> >
> > All warnings (new ones prefixed by >>):
> >
> > >> kernel/futex.o: warning: objtool: futex_atomic_op_inuser()+0xb8: unreachable instruction
> > --
> > >> mm/madvise.o: warning: objtool: madvise_behavior()+0x69: unreachable instruction
> > --
> > >> kernel/bpf/btf.o: warning: objtool: __btf_resolve_size()+0x72: unreachable instruction
>
> Would it be possible for the robot to include the output of this script:
>
> https://lkml.kernel.org/r/3eb3f091fd6bd9caba50392ceab98ce756804f3b.1650578171.git.jpoimboe@redhat.com

Ha, I already forgot about that script. I'll drop it into my
objtool/core branch (eventually for tip) unless anybody objects.

--
Josh

2022-05-14 04:11:25

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [ammarfaizi2-block:stable/linux-stable-rc/queue/5.15 146/150] kernel/futex.o: warning: objtool: futex_atomic_op_inuser()+0xb8: unreachable instruction

On Thu, May 12, 2022 at 10:00:33AM +0800, kernel test robot wrote:
> tree: https://github.com/ammarfaizi2/linux-block stable/linux-stable-rc/queue/5.15
> head: 305e905f70311e1b49cc730931a19c3e364f4d8c
> commit: 45dc9d706619a6814e4063d5431483f94badb5a1 [146/150] x86: Add straight-line-speculation mitigation
> config: x86_64-randconfig-m001-20220509 (https://download.01.org/0day-ci/archive/20220512/[email protected]/config)
> compiler: gcc-11 (Debian 11.2.0-20) 11.2.0
> reproduce (this is a W=1 build):
> # https://github.com/ammarfaizi2/linux-block/commit/45dc9d706619a6814e4063d5431483f94badb5a1
> git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
> git fetch --no-tags ammarfaizi2-block stable/linux-stable-rc/queue/5.15
> git checkout 45dc9d706619a6814e4063d5431483f94badb5a1
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <[email protected]>
>
> All warnings (new ones prefixed by >>):
>
> >> kernel/futex.o: warning: objtool: futex_atomic_op_inuser()+0xb8: unreachable instruction
> --
> >> mm/madvise.o: warning: objtool: madvise_behavior()+0x69: unreachable instruction
> --
> >> kernel/bpf/btf.o: warning: objtool: __btf_resolve_size()+0x72: unreachable instruction

Would it be possible for the robot to include the output of this script:

https://lkml.kernel.org/r/3eb3f091fd6bd9caba50392ceab98ce756804f3b.1650578171.git.jpoimboe@redhat.com

for each objtool warning it gives (as run on vmlinux.o):

$ ./scripts/objdump-func build-output/vmlinux.o futex_atomic_op_inuser
$ ./scripts/objdump-func build-output/vmlinux.o madvise_behavior
$ ./scripts/objdump-func build-output/vmlinux.o __btf_resolve_size

etc.. that would make it easier to see what the problem is without
having to reproduce the build.

A super wild guess; but try this commit:

1ffbe4e935f9 ("objtool: Default ignore INT3 for unreachable")