[peterz-queue:sched/idle 18/37] vmlinux.o: warning: objtool: intel_idle_ibrs+0x14: call to sched_smt_active() leaves .noinstr.text section

From: kernel test robot
Date: Mon Aug 08 2022 - 21:19:46 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/idle
head: 769b3ef979a1016d45e34b71df278f51ae32271d
commit: 3aa38daa6591ae8d2c51b06295f239b1d1458b93 [18/37] objtool/idle: Validate __cpuidle code as noinstr
config: x86_64-randconfig-a002-20220718 (https://download.01.org/0day-ci/archive/20220809/202208090943.FbDovn86-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/peterz/queue.git/commit/?id=3aa38daa6591ae8d2c51b06295f239b1d1458b93
git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
git fetch --no-tags peterz-queue sched/idle
git checkout 3aa38daa6591ae8d2c51b06295f239b1d1458b93
# 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 where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

vmlinux.o: warning: objtool: acpi_idle_enter_s2idle+0x69: call to wbinvd() leaves .noinstr.text section
vmlinux.o: warning: objtool: acpi_idle_enter+0x62: call to wbinvd() 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+0x5: call to current_set_polling_and_test() leaves .noinstr.text section
vmlinux.o: warning: objtool: acpi_processor_ffh_cstate_enter+0x24: call to current_set_polling_and_test() leaves .noinstr.text section
vmlinux.o: warning: objtool: cpu_idle_poll.isra.0+0x52: call to test_ti_thread_flag.constprop.0() leaves .noinstr.text section
vmlinux.o: warning: objtool: intel_idle+0x39: call to current_set_polling_and_test() leaves .noinstr.text section
vmlinux.o: warning: objtool: intel_idle_irq+0x3a: call to current_set_polling_and_test() leaves .noinstr.text section
vmlinux.o: warning: objtool: intel_idle_s2idle+0x34: call to current_set_polling_and_test() leaves .noinstr.text section
>> vmlinux.o: warning: objtool: intel_idle_ibrs+0x14: call to sched_smt_active() leaves .noinstr.text section
vmlinux.o: warning: objtool: acpi_safe_halt+0x8: call to test_ti_thread_flag.constprop.0() leaves .noinstr.text section
vmlinux.o: warning: objtool: io_idle+0x3: call to __inb.isra.0() leaves .noinstr.text section


objdump-func vmlinux.o intel_idle_ibrs:
0000 00000000000003b3 <intel_idle_ibrs>:
0000 3b3: f3 0f 1e fa endbr64
0004 3b7: 41 57 push %r15
0006 3b9: 41 56 push %r14
0008 3bb: 49 89 f6 mov %rsi,%r14
000b 3be: 41 55 push %r13
000d 3c0: 41 54 push %r12
000f 3c2: 41 89 d4 mov %edx,%r12d
0012 3c5: 55 push %rbp
0013 3c6: 53 push %rbx
0014 3c7: e8 00 00 00 00 call 3cc <intel_idle_ibrs+0x19> 3c8: R_X86_64_PC32 .text+0x97f3f9
0019 3cc: 89 c5 mov %eax,%ebp
001b 3ce: e8 00 00 00 00 call 3d3 <intel_idle_ibrs+0x20> 3cf: R_X86_64_PLT32 spec_ctrl_current-0x4
0020 3d3: 49 89 c5 mov %rax,%r13
0023 3d6: 40 84 ed test %bpl,%bpl
0026 3d9: 74 0c je 3e7 <intel_idle_ibrs+0x34>
0028 3db: 31 f6 xor %esi,%esi
002a 3dd: bf 48 00 00 00 mov $0x48,%edi
002f 3e2: e8 00 00 00 00 call 3e7 <intel_idle_ibrs+0x34> 3e3: R_X86_64_PC32 .text+0x97f45f
0034 3e7: 49 63 dc movslq %r12d,%rbx
0037 3ea: 48 83 fb 0a cmp $0xa,%rbx
003b 3ee: 76 0f jbe 3ff <intel_idle_ibrs+0x4c>
003d 3f0: 48 89 de mov %rbx,%rsi
0040 3f3: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 3f6: R_X86_64_32S .data+0x8fafc0
0047 3fa: e8 00 00 00 00 call 3ff <intel_idle_ibrs+0x4c> 3fb: R_X86_64_PLT32 __ubsan_handle_out_of_bounds-0x4
004c 3ff: 48 6b db 68 imul $0x68,%rbx,%rbx
0050 403: 45 0f b6 7c 1e 5b movzbl 0x5b(%r14,%rbx,1),%r15d
0056 409: e9 00 00 00 00 jmp 40e <intel_idle_ibrs+0x5b> 40a: R_X86_64_PC32 .altinstr_aux+0x99e
005b 40e: eb 09 jmp 419 <intel_idle_ibrs+0x66>
005d 410: e8 00 00 00 00 call 415 <intel_idle_ibrs+0x62> 411: R_X86_64_PC32 .text+0x97f6f7
0062 415: 84 c0 test %al,%al
0064 417: 75 3c jne 455 <intel_idle_ibrs+0xa2>
0066 419: e9 00 00 00 00 jmp 41e <intel_idle_ibrs+0x6b> 41a: R_X86_64_PC32 .altinstr_aux+0x9b0
006b 41e: 0f ae f0 mfence
006e 421: 48 8b 3c 25 00 00 00 00 mov 0x0,%rdi 425: R_X86_64_32S current_task
0076 429: e8 00 00 00 00 call 42e <intel_idle_ibrs+0x7b> 42a: R_X86_64_PC32 .text+0x97f3f3
007b 42e: 0f ae f0 mfence
007e 431: 4c 8b 34 25 00 00 00 00 mov 0x0,%r14 435: R_X86_64_32S current_task
0086 439: 4c 89 f7 mov %r14,%rdi
0089 43c: e8 00 00 00 00 call 441 <intel_idle_ibrs+0x8e> 43d: R_X86_64_PC32 .text+0x97f66d
008e 441: 4c 89 f7 mov %r14,%rdi
0091 444: e8 00 00 00 00 call 449 <intel_idle_ibrs+0x96> 445: R_X86_64_PC32 .text+0x97f681
0096 449: 85 c0 test %eax,%eax
0098 44b: 75 08 jne 455 <intel_idle_ibrs+0xa2>
009a 44d: 4c 89 ff mov %r15,%rdi
009d 450: e8 00 00 00 00 call 455 <intel_idle_ibrs+0xa2> 451: R_X86_64_PC32 .text+0x97f60f
00a2 455: e8 00 00 00 00 call 45a <intel_idle_ibrs+0xa7> 456: R_X86_64_PC32 .text+0x97f6bf
00a7 45a: 40 84 ed test %bpl,%bpl
00aa 45d: 74 0d je 46c <intel_idle_ibrs+0xb9>
00ac 45f: 4c 89 ee mov %r13,%rsi
00af 462: bf 48 00 00 00 mov $0x48,%edi
00b4 467: e8 00 00 00 00 call 46c <intel_idle_ibrs+0xb9> 468: R_X86_64_PC32 .text+0x97f45f
00b9 46c: 5b pop %rbx
00ba 46d: 44 89 e0 mov %r12d,%eax
00bd 470: 5d pop %rbp
00be 471: 41 5c pop %r12
00c0 473: 41 5d pop %r13
00c2 475: 41 5e pop %r14
00c4 477: 41 5f pop %r15
00c6 479: 31 d2 xor %edx,%edx
00c8 47b: 89 d6 mov %edx,%esi
00ca 47d: 89 d7 mov %edx,%edi
00cc 47f: c3 ret

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