vmlinux.o: warning: objtool: mwait_idle+0x2a: call to ftrace_likely_update() leaves .noinstr.text section

From: kernel test robot
Date: Sat Apr 29 2023 - 09:46:12 EST


Hi Peter,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 89d77f71f493a3663b10fa812d17f472935d24be
commit: e4df1511e1f4bcaa0d590aa7bbffe8bbbd6dfb49 cpuidle, sched: Remove instrumentation from TIF_{POLLING_NRFLAG,NEED_RESCHED}
date: 4 months ago
config: x86_64-randconfig-c022 (https://download.01.org/0day-ci/archive/20230429/202304292130.LFKg2UgL-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-12) 11.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e4df1511e1f4bcaa0d590aa7bbffe8bbbd6dfb49
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout e4df1511e1f4bcaa0d590aa7bbffe8bbbd6dfb49
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 olddefconfig
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202304292130.LFKg2UgL-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

vmlinux.o: warning: objtool: __rdgsbase_inactive+0x32: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: __wrgsbase_inactive+0x36: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: fixup_bad_iret+0x75: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: noist_exc_debug+0x3d: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: exc_nmi+0xbc: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: poke_int3_handler+0x34: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: mce_check_crashing_cpu+0xd: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: do_machine_check+0x4d: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: exc_machine_check+0x52: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: irqentry_nmi_enter+0x49: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: irqentry_nmi_exit+0x6b: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: enter_from_user_mode+0x3a: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: syscall_enter_from_user_mode+0x3f: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: syscall_enter_from_user_mode_prepare+0x3a: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: irqentry_enter_from_user_mode+0x3a: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: irqentry_exit+0x3e: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: default_idle+0x4: call to mds_idle_clear_cpu_buffers() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: mwait_idle+0x2a: call to ftrace_likely_update() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: acpi_processor_ffh_cstate_enter+0x45: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: intel_idle_ibrs+0x12: call to sched_smt_active() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: intel_idle_xstate+0x5e: call to ftrace_likely_update() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: intel_idle_s2idle+0x63: call to ftrace_likely_update() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: intel_idle_irq+0x5a: call to ftrace_likely_update() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: intel_idle+0x59: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: acpi_safe_halt+0xf: call to mds_idle_clear_cpu_buffers() leaves .noinstr.text section
vmlinux.o: warning: objtool: io_idle+0x3: call to __inb.isra.0() leaves .noinstr.text section
vmlinux.o: warning: objtool: acpi_idle_enter_s2idle+0x53: call to ftrace_likely_update() leaves .noinstr.text section
vmlinux.o: warning: objtool: acpi_idle_enter+0x4c: call to ftrace_likely_update() leaves .noinstr.text section


objdump-func vmlinux.o mwait_idle:
0000 000000000000000d <mwait_idle>:
0000 d: f3 0f 1e fa endbr64
0004 11: 55 push %rbp
0005 12: 48 8b 2c 25 00 00 00 00 mov 0x0,%rbp 16: R_X86_64_32S pcpu_hot
000d 1a: 53 push %rbx
000e 1b: 80 4d 02 20 orb $0x20,0x2(%rbp)
0012 1f: 48 8b 5d 00 mov 0x0(%rbp),%rbx
0016 23: 31 c9 xor %ecx,%ecx
0018 25: 31 d2 xor %edx,%edx
001a 27: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 2a: R_X86_64_32S _ftrace_annotated_branch+0x91e0
0021 2e: 48 c1 eb 03 shr $0x3,%rbx
0025 32: 83 e3 01 and $0x1,%ebx
0028 35: 89 de mov %ebx,%esi
002a 37: e8 00 00 00 00 call 3c <mwait_idle+0x2f> 38: R_X86_64_PLT32 ftrace_likely_update-0x4
002f 3c: 48 85 db test %rbx,%rbx
0032 3f: 75 50 jne 91 <mwait_idle+0x84>
0034 41: 48 8b 05 00 00 00 00 mov 0x0(%rip),%rax # 48 <mwait_idle+0x3b> 44: R_X86_64_PC32 boot_cpu_data+0x74
003b 48: 84 c0 test %al,%al
003d 4a: 79 0e jns 5a <mwait_idle+0x4d>
003f 4c: 0f ae f0 mfence
0042 4f: 48 89 ef mov %rbp,%rdi
0045 52: e8 00 00 00 00 call 57 <mwait_idle+0x4a> 53: R_X86_64_PC32 .text+0x3e2b0
004a 57: 0f ae f0 mfence
004d 5a: 48 8b 1c 25 00 00 00 00 mov 0x0,%rbx 5e: R_X86_64_32S pcpu_hot
0055 62: 48 89 df mov %rbx,%rdi
0058 65: e8 00 00 00 00 call 6a <mwait_idle+0x5d> 66: R_X86_64_PC32 .text+0x3e818
005d 6a: 48 8b 1b mov (%rbx),%rbx
0060 6d: 31 c9 xor %ecx,%ecx
0062 6f: 31 d2 xor %edx,%edx
0064 71: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 74: R_X86_64_32S _ftrace_annotated_branch+0x9210
006b 78: 48 c1 eb 03 shr $0x3,%rbx
006f 7c: 83 e3 01 and $0x1,%ebx
0072 7f: 89 de mov %ebx,%esi
0074 81: e8 00 00 00 00 call 86 <mwait_idle+0x79> 82: R_X86_64_PLT32 ftrace_likely_update-0x4
0079 86: 48 85 db test %rbx,%rbx
007c 89: 75 06 jne 91 <mwait_idle+0x84>
007e 8b: e8 00 00 00 00 call 90 <mwait_idle+0x83> 8c: R_X86_64_PC32 .text+0x3e809
0083 90: fa cli
0084 91: 48 8b 04 25 00 00 00 00 mov 0x0,%rax 95: R_X86_64_32S pcpu_hot
008c 99: 80 60 02 df andb $0xdf,0x2(%rax)
0090 9d: 5b pop %rbx
0091 9e: 5d pop %rbp
0092 9f: c3 ret

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests