tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6 commit: 11df586d774f4aab1835144fd2a8dc3cb2add8d4 KVM: VMX: Handle NMI VM-Exits in noinstr region date: 4 months ago config: x86_64-randconfig-x054-20230515 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=11df586d774f4aab1835144fd2a8dc3cb2add8d4 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 11df586d774f4aab1835144fd2a8dc3cb2add8d4 # 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 | Link: https://lore.kernel.org/oe-kbuild-all/202305160202.CMBiP2UV-lkp@intel.com/ All warnings (new ones prefixed by >>): vmlinux.o: warning: objtool: kvm_spurious_fault+0x1c: call to ftrace_likely_update() leaves .noinstr.text section >> vmlinux.o: warning: objtool: vmx_vcpu_enter_exit+0xec: call to ftrace_likely_update() leaves .noinstr.text section vmlinux.o: warning: objtool: vmx_update_host_rsp+0x2f: call to ftrace_likely_update() leaves .noinstr.text section 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+0xc0: 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: irqentry_nmi_enter+0x49: call to ftrace_likely_update() leaves .noinstr.text section vmlinux.o: warning: objtool: irqentry_nmi_exit+0x5b: 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 objdump-func vmlinux.o vmx_vcpu_enter_exit: 0000 00000000000003d2 : 0000 3d2: 41 54 push %r12 0002 3d4: 41 89 f4 mov %esi,%r12d 0005 3d7: 55 push %rbp 0006 3d8: 53 push %rbx 0007 3d9: 48 89 fb mov %rdi,%rbx 000a 3dc: 90 nop 000b 3dd: e8 00 00 00 00 call 3e2 3de: R_X86_64_PLT32 trace_hardirqs_on_prepare-0x4 0010 3e2: e8 00 00 00 00 call 3e7 3e3: R_X86_64_PLT32 lockdep_hardirqs_on_prepare-0x4 0015 3e7: 90 nop 0016 3e8: 90 nop 0017 3e9: 90 nop 0018 3ea: 48 8b 7c 24 18 mov 0x18(%rsp),%rdi 001d 3ef: e8 00 00 00 00 call 3f4 3f0: R_X86_64_PLT32 lockdep_hardirqs_on-0x4 0022 3f4: 66 90 xchg %ax,%ax 0024 3f6: 66 90 xchg %ax,%ax 0026 3f8: eb 0a jmp 404 0028 3fa: 48 89 df mov %rbx,%rdi 002b 3fd: e8 52 ff ff ff call 354 0030 402: eb 17 jmp 41b 0032 404: 66 90 xchg %ax,%ax 0034 406: eb 13 jmp 41b 0036 408: 48 8b 3b mov (%rbx),%rdi 0039 40b: e8 00 00 00 00 call 410 40c: R_X86_64_PLT32 kvm_arch_has_assigned_device-0x4 003e 410: 84 c0 test %al,%al 0040 412: 74 07 je 41b 0042 414: 0f 00 2d 00 00 00 00 verw 0x0(%rip) # 41b 417: R_X86_64_PC32 .rodata+0x598fc 0049 41b: 80 bb f8 26 00 00 00 cmpb $0x0,0x26f8(%rbx) 0050 422: 74 22 je 446 0052 424: b9 23 01 00 00 mov $0x123,%ecx 0057 429: 0f 32 rdmsr 0059 42b: 48 c1 e2 20 shl $0x20,%rdx 005d 42f: 48 09 c2 or %rax,%rdx 0060 432: 48 89 d0 mov %rdx,%rax 0063 435: 48 c1 ea 20 shr $0x20,%rdx 0067 439: 48 83 c8 08 or $0x8,%rax 006b 43d: 0f 30 wrmsr 006d 43f: 48 89 83 f0 26 00 00 mov %rax,0x26f0(%rbx) 0074 446: 48 8b 83 70 02 00 00 mov 0x270(%rbx),%rax 007b 44d: 0f 20 d2 mov %cr2,%rdx 007e 450: 48 39 d0 cmp %rdx,%rax 0081 453: 74 03 je 458 0083 455: 0f 22 d0 mov %rax,%cr2 0086 458: 48 8d b3 d0 01 00 00 lea 0x1d0(%rbx),%rsi 008d 45f: 44 89 e2 mov %r12d,%edx 0090 462: 48 89 df mov %rbx,%rdi 0093 465: e8 00 00 00 00 call 46a 466: R_X86_64_PLT32 __vmx_vcpu_run-0x4 0098 46a: 88 83 78 1e 00 00 mov %al,0x1e78(%rbx) 009e 470: 0f 20 d0 mov %cr2,%rax 00a1 473: 80 bb f8 26 00 00 00 cmpb $0x0,0x26f8(%rbx) 00a8 47a: 48 89 83 70 02 00 00 mov %rax,0x270(%rbx) 00af 481: 74 20 je 4a3 00b1 483: 48 8b 83 f0 26 00 00 mov 0x26f0(%rbx),%rax 00b8 48a: b9 23 01 00 00 mov $0x123,%ecx 00bd 48f: 48 83 e0 f7 and $0xfffffffffffffff7,%rax 00c1 493: 48 89 c2 mov %rax,%rdx 00c4 496: 48 89 83 f0 26 00 00 mov %rax,0x26f0(%rbx) 00cb 49d: 48 c1 ea 20 shr $0x20,%rdx 00cf 4a1: 0f 30 wrmsr 00d1 4a3: 40 8a ab 78 1e 00 00 mov 0x1e78(%rbx),%bpl 00d8 4aa: 31 f6 xor %esi,%esi 00da 4ac: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 4af: R_X86_64_32S _ftrace_annotated_branch+0x19110 00e1 4b3: 40 84 ed test %bpl,%bpl 00e4 4b6: 40 0f 95 c6 setne %sil 00e8 4ba: 31 c9 xor %ecx,%ecx 00ea 4bc: 31 d2 xor %edx,%edx 00ec 4be: e8 00 00 00 00 call 4c3 4bf: R_X86_64_PLT32 ftrace_likely_update-0x4 00f1 4c3: b8 ad de 00 00 mov $0xdead,%eax 00f6 4c8: 40 84 ed test %bpl,%bpl 00f9 4cb: 0f 85 ef 00 00 00 jne 5c0 00ff 4d1: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 0104 4d6: b8 02 44 00 00 mov $0x4402,%eax 0109 4db: 0f 78 c0 vmread %rax,%rax 010c 4de: 76 05 jbe 4e5 010e 4e0: e9 db 00 00 00 jmp 5c0 0113 4e5: 90 nop 0114 4e6: 40 8a 2d 00 00 00 00 mov 0x0(%rip),%bpl # 4ed 4e9: R_X86_64_PC32 .data.once+0x31 011b 4ed: 31 c9 xor %ecx,%ecx 011d 4ef: 31 d2 xor %edx,%edx 011f 4f1: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 4f4: R_X86_64_32S _ftrace_annotated_branch+0x1b060 0126 4f8: 83 f5 01 xor $0x1,%ebp 0129 4fb: 44 0f b6 e5 movzbl %bpl,%r12d 012d 4ff: 44 89 e6 mov %r12d,%esi 0130 502: e8 00 00 00 00 call 507 503: R_X86_64_PLT32 ftrace_likely_update-0x4 0135 507: 40 84 ed test %bpl,%bpl 0138 50a: 74 07 je 513 013a 50c: c6 05 00 00 00 00 01 movb $0x1,0x0(%rip) # 513 50e: R_X86_64_PC32 .data.once+0x30 0141 513: 31 c9 xor %ecx,%ecx 0143 515: 31 d2 xor %edx,%edx 0145 517: 44 89 e6 mov %r12d,%esi 0148 51a: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 51d: R_X86_64_32S _ftrace_annotated_branch+0x1b030 014f 521: e8 00 00 00 00 call 526 522: R_X86_64_PLT32 ftrace_likely_update-0x4 0154 526: 40 84 ed test %bpl,%bpl 0157 529: 74 47 je 572 0159 52b: b9 01 00 00 00 mov $0x1,%ecx 015e 530: 31 d2 xor %edx,%edx 0160 532: be 01 00 00 00 mov $0x1,%esi 0165 537: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 53a: R_X86_64_32S _ftrace_annotated_branch+0x1b000 016c 53e: e8 00 00 00 00 call 543 53f: R_X86_64_PLT32 ftrace_likely_update-0x4 0171 543: 90 nop 0172 544: be 02 44 00 00 mov $0x4402,%esi 0177 549: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 54c: R_X86_64_32S .rodata+0x56740 017e 550: e8 00 00 00 00 call 555 551: R_X86_64_PLT32 __warn_printk-0x4 0183 555: 90 nop 0184 556: 0f 0b ud2 0186 558: 90 nop 0187 559: 90 nop 0188 55a: b9 01 00 00 00 mov $0x1,%ecx 018d 55f: 31 d2 xor %edx,%edx 018f 561: be 01 00 00 00 mov $0x1,%esi 0194 566: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 569: R_X86_64_32S _ftrace_annotated_branch+0x1afd0 019b 56d: e8 00 00 00 00 call 572 56e: R_X86_64_PLT32 ftrace_likely_update-0x4 01a0 572: 31 d2 xor %edx,%edx 01a2 574: be 01 00 00 00 mov $0x1,%esi 01a7 579: b9 01 00 00 00 mov $0x1,%ecx 01ac 57e: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 581: R_X86_64_32S _ftrace_annotated_branch+0x1afa0 01b3 585: e8 00 00 00 00 call 58a 586: R_X86_64_PLT32 ftrace_likely_update-0x4 01b8 58a: 48 c7 c6 00 00 00 00 mov $0x0,%rsi 58d: R_X86_64_32S .rodata+0x5bf80 01bf 591: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 594: R_X86_64_32S .data+0xde060 01c6 598: e8 00 00 00 00 call 59d 599: R_X86_64_PLT32 ___ratelimit-0x4 01cb 59d: 85 c0 test %eax,%eax 01cd 59f: 74 11 je 5b2 01cf 5a1: be 02 44 00 00 mov $0x4402,%esi 01d4 5a6: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 5a9: R_X86_64_32S .rodata+0x567e0 01db 5ad: e8 00 00 00 00 call 5b2 5ae: R_X86_64_PLT32 _printk-0x4 01e0 5b2: 90 nop 01e1 5b3: eb 05 jmp 5ba 01e3 5b5: e8 00 00 00 00 call 5ba 5b6: R_X86_64_PLT32 kvm_spurious_fault-0x4 01e8 5ba: 31 c0 xor %eax,%eax 01ea 5bc: eb 02 jmp 5c0 01ec 5be: 31 c0 xor %eax,%eax 01ee 5c0: 89 83 60 23 00 00 mov %eax,0x2360(%rbx) 01f4 5c6: 66 85 c0 test %ax,%ax 01f7 5c9: 0f 85 29 01 00 00 jne 6f8 01fd 5cf: 48 0f ba ab 58 02 00 00 18 btsq $0x18,0x258(%rbx) 0206 5d8: 0f 82 f5 00 00 00 jb 6d3 020c 5de: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 0211 5e3: b8 04 44 00 00 mov $0x4404,%eax 0216 5e8: 0f 78 c0 vmread %rax,%rax 0219 5eb: 76 05 jbe 5f2 021b 5ed: e9 db 00 00 00 jmp 6cd 0220 5f2: 90 nop 0221 5f3: 40 8a 2d 00 00 00 00 mov 0x0(%rip),%bpl # 5fa 5f6: R_X86_64_PC32 .data.once+0x31 0228 5fa: 31 c9 xor %ecx,%ecx 022a 5fc: 31 d2 xor %edx,%edx 022c 5fe: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 601: R_X86_64_32S _ftrace_annotated_branch+0x1b060 0233 605: 83 f5 01 xor $0x1,%ebp 0236 608: 44 0f b6 e5 movzbl %bpl,%r12d 023a 60c: 44 89 e6 mov %r12d,%esi 023d 60f: e8 00 00 00 00 call 614 610: R_X86_64_PLT32 ftrace_likely_update-0x4 0242 614: 40 84 ed test %bpl,%bpl 0245 617: 74 07 je 620 0247 619: c6 05 00 00 00 00 01 movb $0x1,0x0(%rip) # 620 61b: R_X86_64_PC32 .data.once+0x30 024e 620: 31 c9 xor %ecx,%ecx 0250 622: 31 d2 xor %edx,%edx 0252 624: 44 89 e6 mov %r12d,%esi 0255 627: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 62a: R_X86_64_32S _ftrace_annotated_branch+0x1b030 025c 62e: e8 00 00 00 00 call 633 62f: R_X86_64_PLT32 ftrace_likely_update-0x4 0261 633: 40 84 ed test %bpl,%bpl 0264 636: 74 47 je 67f 0266 638: b9 01 00 00 00 mov $0x1,%ecx 026b 63d: 31 d2 xor %edx,%edx 026d 63f: be 01 00 00 00 mov $0x1,%esi 0272 644: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 647: R_X86_64_32S _ftrace_annotated_branch+0x1b000 0279 64b: e8 00 00 00 00 call 650 64c: R_X86_64_PLT32 ftrace_likely_update-0x4 027e 650: 90 nop 027f 651: be 04 44 00 00 mov $0x4404,%esi 0284 656: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 659: R_X86_64_32S .rodata+0x56740 028b 65d: e8 00 00 00 00 call 662 65e: R_X86_64_PLT32 __warn_printk-0x4 0290 662: 90 nop 0291 663: 0f 0b ud2 0293 665: 90 nop 0294 666: 90 nop 0295 667: b9 01 00 00 00 mov $0x1,%ecx 029a 66c: 31 d2 xor %edx,%edx 029c 66e: be 01 00 00 00 mov $0x1,%esi 02a1 673: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 676: R_X86_64_32S _ftrace_annotated_branch+0x1afd0 02a8 67a: e8 00 00 00 00 call 67f 67b: R_X86_64_PLT32 ftrace_likely_update-0x4 02ad 67f: 31 d2 xor %edx,%edx 02af 681: be 01 00 00 00 mov $0x1,%esi 02b4 686: b9 01 00 00 00 mov $0x1,%ecx 02b9 68b: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 68e: R_X86_64_32S _ftrace_annotated_branch+0x1afa0 02c0 692: e8 00 00 00 00 call 697 693: R_X86_64_PLT32 ftrace_likely_update-0x4 02c5 697: 48 c7 c6 00 00 00 00 mov $0x0,%rsi 69a: R_X86_64_32S .rodata+0x5bf80 02cc 69e: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 6a1: R_X86_64_32S .data+0xde060 02d3 6a5: e8 00 00 00 00 call 6aa 6a6: R_X86_64_PLT32 ___ratelimit-0x4 02d8 6aa: 85 c0 test %eax,%eax 02da 6ac: 74 11 je 6bf 02dc 6ae: be 04 44 00 00 mov $0x4404,%esi 02e1 6b3: 48 c7 c7 00 00 00 00 mov $0x0,%rdi 6b6: R_X86_64_32S .rodata+0x567e0 02e8 6ba: e8 00 00 00 00 call 6bf 6bb: R_X86_64_PLT32 _printk-0x4 02ed 6bf: 90 nop 02ee 6c0: eb 05 jmp 6c7 02f0 6c2: e8 00 00 00 00 call 6c7 6c3: R_X86_64_PLT32 kvm_spurious_fault-0x4 02f5 6c7: 31 c0 xor %eax,%eax 02f7 6c9: eb 02 jmp 6cd 02f9 6cb: 31 c0 xor %eax,%eax 02fb 6cd: 89 83 88 1e 00 00 mov %eax,0x1e88(%rbx) 0301 6d3: 8b 83 88 1e 00 00 mov 0x1e88(%rbx),%eax 0307 6d9: 25 00 07 00 80 and $0x80000700,%eax 030c 6de: 3d 00 02 00 80 cmp $0x80000200,%eax 0311 6e3: 75 13 jne 6f8 0313 6e5: c6 83 7a 0b 00 00 02 movb $0x2,0xb7a(%rbx) 031a 6ec: e8 00 00 00 00 call 6f1 6ed: R_X86_64_PLT32 vmx_do_nmi_irqoff-0x4 031f 6f1: c6 83 7a 0b 00 00 00 movb $0x0,0xb7a(%rbx) 0326 6f8: 48 8b 7c 24 18 mov 0x18(%rsp),%rdi 032b 6fd: e8 00 00 00 00 call 702 6fe: R_X86_64_PLT32 lockdep_hardirqs_off-0x4 0330 702: 90 nop 0331 703: e8 00 00 00 00 call 708 704: R_X86_64_PLT32 trace_hardirqs_off_finish-0x4 0336 708: 90 nop 0337 709: 5b pop %rbx 0338 70a: 5d pop %rbp 0339 70b: 41 5c pop %r12 033b 70d: e9 00 00 00 00 jmp 712 70e: R_X86_64_PLT32 __x86_return_thunk-0x4 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests