Re: [linux-stable-rc:linux-5.10.y 6996/7120] arch/x86/kernel/ftrace_64.o: warning: objtool: ftrace_epilogue()+0x10: unreachable instruction

From: Greg Kroah-Hartman
Date: Thu Jul 14 2022 - 05:20:54 EST


On Wed, Jul 13, 2022 at 05:18:42PM -0700, Josh Poimboeuf wrote:
> On Thu, Jul 14, 2022 at 01:41:58AM +0200, Ben Hutchings wrote:
> > On Wed, 2022-07-13 at 03:57 +0800, kernel test robot wrote:
> > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.10.y
> > > head: ba398a0e54049bb6a1c102245ae84103f103ff2c
> > > commit: 8ca9dceaa17983afec1cc8e1a6e76d6bd142447a [6996/7120] objtool: Assume only ELF functions do sibling calls
> > > config: x86_64-rhel-8.3-syz (https://download.01.org/0day-ci/archive/20220713/202207130344.dwXyDmTk-lkp@xxxxxxxxx/config)
> > > compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
> > > reproduce (this is a W=1 build):
> > > # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=8ca9dceaa17983afec1cc8e1a6e76d6bd142447a
> > > git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
> > > git fetch --no-tags linux-stable-rc linux-5.10.y
> > > git checkout 8ca9dceaa17983afec1cc8e1a6e76d6bd142447a
> > > # save the config file
> > > mkdir build_dir && cp config build_dir/.config
> > > make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/
> > >
> > > If you fix the issue, kindly add following tag where applicable
> > > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > >
> > > All warnings (new ones prefixed by >>):
> > >
> > > > > arch/x86/kernel/ftrace_64.o: warning: objtool: ftrace_epilogue()+0x10: unreachable instruction
> > >
> > >
> > > objdump-func vmlinux.o ftrace_epilogue:
> > > 0000 000000000008ca70 <ftrace_epilogue>:
> > > 0000 8ca70: e9 00 00 00 00 jmp 8ca75 <ftrace_epilogue+0x5> 8ca71: R_X86_64_PLT32 ftrace_stub-0x4
> > > 0005 8ca75: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0(%rax,%rax,1)
> > >
> >
> > I don't know what's going on here. There's a jump to a ret (now
> > potentialy a rethunk), and nothing obviously unreachable.
> > ftrace_epilogue got simplified by commit 0c0593b45c9b "x86/ftrace: Make
> > function graph use ftrace directly" which maybe avoids the warning in
> > the mainline.
>
> The unreachable warning is actually pointing to ftrace_stub(). I think
> you need
>
> 18660698a3d3 ("x86/ftrace: Add UNWIND_HINT_FUNC annotation for ftrace_stub")

Thanks for the hint, now queued up!

greg k-h