lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Sat, 29 Apr 2023 14:34:39 +0800
From:   kernel test robot <lkp@...el.com>
To:     Peter Zijlstra <peterz@...radead.org>
Cc:     oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
        Ingo Molnar <mingo@...nel.org>
Subject: vmlinux.o: warning: objtool: intel_idle_ibrs+0x12: call to
 sched_smt_active() leaves .noinstr.text section

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: 2b5a0e425e6e319b1978db1e9564f6af4228a567 objtool/idle: Validate __cpuidle code as noinstr
date:   4 months ago
config: x86_64-randconfig-c022 (https://download.01.org/0day-ci/archive/20230429/202304291444.8Uqp9A2n-lkp@intel.com/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=2b5a0e425e6e319b1978db1e9564f6af4228a567
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 2b5a0e425e6e319b1978db1e9564f6af4228a567
        # 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@...el.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304291444.8Uqp9A2n-lkp@intel.com/

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+0x6: 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+0x7f: call to test_ti_thread_flag.constprop.0() leaves .noinstr.text section
   vmlinux.o: warning: objtool: intel_idle+0x35: call to current_set_polling_and_test() leaves .noinstr.text section
   vmlinux.o: warning: objtool: intel_idle_s2idle+0x3b: call to current_set_polling_and_test() leaves .noinstr.text section
   vmlinux.o: warning: objtool: intel_idle_xstate+0x11: call to fpu_idle_fpregs() 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_irq+0x36: call to current_set_polling_and_test() 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
>> 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 intel_idle_ibrs:
0000 000000000000047d <intel_idle_ibrs>:
0000  47d:	f3 0f 1e fa          	endbr64
0004  481:	41 56                	push   %r14
0006  483:	49 89 f6             	mov    %rsi,%r14
0009  486:	41 55                	push   %r13
000b  488:	41 54                	push   %r12
000d  48a:	41 89 d4             	mov    %edx,%r12d
0010  48d:	55                   	push   %rbp
0011  48e:	53                   	push   %rbx
0012  48f:	e8 00 00 00 00       	call   494 <intel_idle_ibrs+0x17>	490: R_X86_64_PC32	.text+0x9cb97d
0017  494:	89 c5                	mov    %eax,%ebp
0019  496:	e8 00 00 00 00       	call   49b <intel_idle_ibrs+0x1e>	497: R_X86_64_PLT32	spec_ctrl_current-0x4
001e  49b:	49 89 c5             	mov    %rax,%r13
0021  49e:	40 84 ed             	test   %bpl,%bpl
0024  4a1:	74 0c                	je     4af <intel_idle_ibrs+0x32>
0026  4a3:	31 f6                	xor    %esi,%esi
0028  4a5:	bf 48 00 00 00       	mov    $0x48,%edi
002d  4aa:	e8 00 00 00 00       	call   4af <intel_idle_ibrs+0x32>	4ab: R_X86_64_PC32	.text+0x9cb9a3
0032  4af:	49 63 dc             	movslq %r12d,%rbx
0035  4b2:	48 83 fb 0a          	cmp    $0xa,%rbx
0039  4b6:	76 0f                	jbe    4c7 <intel_idle_ibrs+0x4a>
003b  4b8:	48 89 de             	mov    %rbx,%rsi
003e  4bb:	48 c7 c7 00 00 00 00 	mov    $0x0,%rdi	4be: R_X86_64_32S	.data+0x8e65a0
0045  4c2:	e8 00 00 00 00       	call   4c7 <intel_idle_ibrs+0x4a>	4c3: R_X86_64_PLT32	__ubsan_handle_out_of_bounds-0x4
004a  4c7:	48 6b db 68          	imul   $0x68,%rbx,%rbx
004e  4cb:	41 8b 5c 1e 58       	mov    0x58(%r14,%rbx,1),%ebx
0053  4d0:	e9 00 00 00 00       	jmp    4d5 <intel_idle_ibrs+0x58>	4d1: R_X86_64_PC32	.altinstr_aux+0xda0
0058  4d5:	eb 09                	jmp    4e0 <intel_idle_ibrs+0x63>
005a  4d7:	e8 00 00 00 00       	call   4dc <intel_idle_ibrs+0x5f>	4d8: R_X86_64_PC32	.text+0x9cbb80
005f  4dc:	84 c0                	test   %al,%al
0061  4de:	75 5a                	jne    53a <intel_idle_ibrs+0xbd>
0063  4e0:	e9 00 00 00 00       	jmp    4e5 <intel_idle_ibrs+0x68>	4e1: R_X86_64_PC32	.altinstr_aux+0xdb2
0068  4e5:	0f ae f0             	mfence
006b  4e8:	48 8b 3c 25 00 00 00 00 	mov    0x0,%rdi	4ec: R_X86_64_32S	pcpu_hot
0073  4f0:	e8 00 00 00 00       	call   4f5 <intel_idle_ibrs+0x78>	4f1: R_X86_64_PC32	.text+0x9cb979
0078  4f5:	0f ae f0             	mfence
007b  4f8:	4c 8b 34 25 00 00 00 00 	mov    0x0,%r14	4fc: R_X86_64_32S	pcpu_hot
0083  500:	4c 89 f7             	mov    %r14,%rdi
0086  503:	e8 00 00 00 00       	call   508 <intel_idle_ibrs+0x8b>	504: R_X86_64_PC32	.text+0x9cbb0a
008b  508:	4c 89 f7             	mov    %r14,%rdi
008e  50b:	e8 00 00 00 00       	call   510 <intel_idle_ibrs+0x93>	50c: R_X86_64_PC32	.text+0x9cbb16
0093  510:	31 f6                	xor    %esi,%esi
0095  512:	48 c7 c7 00 00 00 00 	mov    $0x0,%rdi	515: R_X86_64_32S	_ftrace_annotated_branch+0xce2e0
009c  519:	85 c0                	test   %eax,%eax
009e  51b:	41 89 c6             	mov    %eax,%r14d
00a1  51e:	40 0f 95 c6          	setne  %sil
00a5  522:	31 c9                	xor    %ecx,%ecx
00a7  524:	31 d2                	xor    %edx,%edx
00a9  526:	e8 00 00 00 00       	call   52b <intel_idle_ibrs+0xae>	527: R_X86_64_PLT32	ftrace_likely_update-0x4
00ae  52b:	45 85 f6             	test   %r14d,%r14d
00b1  52e:	75 0a                	jne    53a <intel_idle_ibrs+0xbd>
00b3  530:	c1 eb 18             	shr    $0x18,%ebx
00b6  533:	89 df                	mov    %ebx,%edi
00b8  535:	e8 00 00 00 00       	call   53a <intel_idle_ibrs+0xbd>	536: R_X86_64_PC32	.text+0x9cbaf5
00bd  53a:	e8 00 00 00 00       	call   53f <intel_idle_ibrs+0xc2>	53b: R_X86_64_PC32	.text+0x9cbb4e
00c2  53f:	40 84 ed             	test   %bpl,%bpl
00c5  542:	74 0d                	je     551 <intel_idle_ibrs+0xd4>
00c7  544:	4c 89 ee             	mov    %r13,%rsi
00ca  547:	bf 48 00 00 00       	mov    $0x48,%edi
00cf  54c:	e8 00 00 00 00       	call   551 <intel_idle_ibrs+0xd4>	54d: R_X86_64_PC32	.text+0x9cb9a3
00d4  551:	5b                   	pop    %rbx
00d5  552:	44 89 e0             	mov    %r12d,%eax
00d8  555:	5d                   	pop    %rbp
00d9  556:	41 5c                	pop    %r12
00db  558:	41 5d                	pop    %r13
00dd  55a:	41 5e                	pop    %r14
00df  55c:	c3                   	ret

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ