From: Peter Zijlstra <peterz@infradead.org>
To: Nathan Chancellor <nathan@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
linux-kernel@vger.kernel.org, x86@kernel.org,
Ingo Molnar <mingo@kernel.org>, Kees Cook <kees@kernel.org>,
kernel test robot <lkp@intel.com>
Subject: Re: [tip:x86/core 1/1] vmlinux.o: warning: objtool: rcar_pcie_probe+0x13e: no-cfi indirect call!
Date: Fri, 10 Oct 2025 09:10:32 +0200 [thread overview]
Message-ID: <20251010071032.GE4067720@noisy.programming.kicks-ass.net> (raw)
In-Reply-To: <20251010032001.GA3741500@ax162>
On Thu, Oct 09, 2025 at 08:20:01PM -0700, Nathan Chancellor wrote:
> Hi Peter,
>
> On Thu, Oct 09, 2025 at 09:07:02PM +0800, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core
> > head: 6c6e6a5416471498d8aafc050110bec9467e4da7
> > commit: 6c6e6a5416471498d8aafc050110bec9467e4da7 [1/1] Merge branch 'linus' into x86/core, to resolve conflicts
>
> It appears that this got bisected to the merge because the configuration
> has CONFIG_CFI=y, which needs the rename that is in Linus's tree. This
> is reproducible with just commit 894af4a1cde6 ("objtool: Validate kCFI
> calls") cherry-picked onto 6.17 and CONFIG_CFI_CLANG=y in the config
> provided at the link below.
>
> > config: x86_64-buildonly-randconfig-001-20251009 (https://download.01.org/0day-ci/archive/20251009/202510092124.O2IX0Jek-lkp@intel.com/config)
> > compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251009/202510092124.O2IX0Jek-lkp@intel.com/reproduce)
> >
> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > the same patch/commit), kindly add following tags
> > | Reported-by: kernel test robot <lkp@intel.com>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202510092124.O2IX0Jek-lkp@intel.com/
> >
> > All warnings (new ones prefixed by >>):
> >
> > >> vmlinux.o: warning: objtool: rcar_pcie_probe+0x13e: no-cfi indirect call!
>
> I do see an indirect call in rcar_pcie_probe() with ->host_init_fn() but
> rcar_pcie_probe() is not __nocfi... +0x13e is 0x8d9d7e in this build.
>
> 8d9d6f: 31 c0 xorl %eax, %eax
> 8d9d71: 49 89 86 58 06 00 00 movq %rax, 0x658(%r14)
> 8d9d78: 4c 89 ff movq %r15, %rdi
> 8d9d7b: 45 31 db xorl %r11d, %r11d
> 8d9d7e: 2e e8 00 00 00 00 callq 0x8d9d84 <rcar_pcie_probe+0x144>
> 00000000008d9d80: R_X86_64_PLT32 __x86_indirect_thunk_r11-0x4
>
> Is this an issue with the objtool check or is clang not generating the
> right code?
So going by the asm above, objtool is right, this is not a CFI adorned
indirect call.
Let me go build this thing.
next prev parent reply other threads:[~2025-10-10 7:10 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-09 13:07 [tip:x86/core 1/1] vmlinux.o: warning: objtool: rcar_pcie_probe+0x13e: no-cfi indirect call! kernel test robot
2025-10-10 3:20 ` Nathan Chancellor
2025-10-10 7:10 ` Peter Zijlstra [this message]
2025-10-10 7:44 ` Peter Zijlstra
2025-10-10 22:30 ` Nathan Chancellor
2025-10-10 22:53 ` Kees Cook
2025-10-13 8:26 ` Peter Zijlstra
2025-10-13 18:30 ` Nathan Chancellor
2025-10-13 18:50 ` Peter Zijlstra
2025-10-13 20:08 ` Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251010071032.GE4067720@noisy.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=kees@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=llvm@lists.linux.dev \
--cc=mingo@kernel.org \
--cc=nathan@kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox