2023-05-15 17:58:01

by kernel test robot

[permalink] [raw]
Subject: vmlinux.o: warning: objtool: vmw_port_hb_in+0x1df: return with modified stack frame

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6
commit: 72064474964724c59ddff58a581a31b1ede75cf9 objtool: Make stack validation frame-pointer-specific
date: 1 year, 1 month ago
config: x86_64-randconfig-x091-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=72064474964724c59ddff58a581a31b1ede75cf9
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 72064474964724c59ddff58a581a31b1ede75cf9
# 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 <[email protected]>
| Link: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All warnings (new ones prefixed by >>):

ld: warning: arch/x86/lib/retpoline.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
vmlinux.o: warning: objtool: ibt_selftest+0x11: sibling call from callable instruction with modified stack frame
vmlinux.o: warning: objtool: __fentry__+0x16: return with modified stack frame
>> vmlinux.o: warning: objtool: vmw_port_hb_in+0x1df: return with modified stack frame
>> vmlinux.o: warning: objtool: vmw_port_hb_out+0x1dd: return with modified stack frame
vmlinux.o: warning: objtool: exc_nmi+0x10d: call to static_key_count.constprop.0() leaves .noinstr.text section
vmlinux.o: warning: objtool: exc_page_fault+0x38: call to static_key_count() leaves .noinstr.text section
vmlinux.o: warning: objtool: ibt_selftest+0x1e: return with modified stack frame
ld: warning: vmlinux.o: requires executable stack (because the .note.GNU-stack section is executable)
ld: warning: .tmp_vmlinux.kallsyms1 has a LOAD segment with RWX permissions
ld: warning: vmlinux.o: requires executable stack (because the .note.GNU-stack section is executable)
ld: warning: .tmp_vmlinux.kallsyms2 has a LOAD segment with RWX permissions
ld: warning: vmlinux.o: requires executable stack (because the .note.GNU-stack section is executable)
ld: warning: vmlinux has a LOAD segment with RWX permissions


objdump-func vmlinux.o vmw_port_hb_in:
0000 00000000023ba2d0 <vmw_port_hb_in>:
0000 23ba2d0: e8 00 00 00 00 call 23ba2d5 <vmw_port_hb_in+0x5> 23ba2d1: R_X86_64_PLT32 __fentry__-0x4
0005 23ba2d5: 49 b9 00 00 00 00 00 fc ff df movabs $0xdffffc0000000000,%r9
000f 23ba2df: 55 push %rbp
0010 23ba2e0: 48 89 e5 mov %rsp,%rbp
0013 23ba2e3: 41 57 push %r15
0015 23ba2e5: 49 89 f7 mov %rsi,%r15
0018 23ba2e8: 41 56 push %r14
001a 23ba2ea: 48 8d 85 78 ff ff ff lea -0x88(%rbp),%rax
0021 23ba2f1: 49 89 d6 mov %rdx,%r14
0024 23ba2f4: 4c 8d 55 d8 lea -0x28(%rbp),%r10
0028 23ba2f8: 41 55 push %r13
002a 23ba2fa: 48 c1 e8 03 shr $0x3,%rax
002e 23ba2fe: 49 89 fd mov %rdi,%r13
0031 23ba301: 41 54 push %r12
0033 23ba303: 53 push %rbx
0034 23ba304: 48 81 ec 98 00 00 00 sub $0x98,%rsp
003b 23ba30b: 48 89 85 58 ff ff ff mov %rax,-0xa8(%rbp)
0042 23ba312: 4c 01 c8 add %r9,%rax
0045 23ba315: 48 c7 85 78 ff ff ff b3 8a b5 41 movq $0x41b58ab3,-0x88(%rbp)
0050 23ba320: 48 c7 45 80 00 00 00 00 movq $0x0,-0x80(%rbp) 23ba324: R_X86_64_32S .rodata.str1.1+0x11a887
0058 23ba328: 48 c7 45 88 00 00 00 00 movq $0x0,-0x78(%rbp) 23ba32c: R_X86_64_32S .text+0x23ba2d0
0060 23ba330: c7 00 f1 f1 f1 f1 movl $0xf1f1f1f1,(%rax)
0066 23ba336: c7 40 04 00 f3 f3 f3 movl $0xf3f3f300,0x4(%rax)
006d 23ba33d: 65 48 8b 04 25 28 00 00 00 mov %gs:0x28,%rax
0076 23ba346: 48 89 45 d0 mov %rax,-0x30(%rbp)
007a 23ba34a: 31 c0 xor %eax,%eax
007c 23ba34c: 84 c9 test %cl,%cl
007e 23ba34e: 0f 85 5c 01 00 00 jne 23ba4b0 <vmw_port_hb_in+0x1e0>
0084 23ba354: 48 8d 5f 08 lea 0x8(%rdi),%rbx
0088 23ba358: 48 8d 77 04 lea 0x4(%rdi),%rsi
008c 23ba35c: 48 89 9d 70 ff ff ff mov %rbx,-0x90(%rbp)
0093 23ba363: 48 89 b5 50 ff ff ff mov %rsi,-0xb0(%rbp)
009a 23ba36a: 48 85 d2 test %rdx,%rdx
009d 23ba36d: 0f 84 f1 01 00 00 je 23ba564 <vmw_port_hb_in+0x294>
00a3 23ba373: 48 89 f0 mov %rsi,%rax
00a6 23ba376: 48 c1 e8 03 shr $0x3,%rax
00aa 23ba37a: 4c 01 c8 add %r9,%rax
00ad 23ba37d: 48 89 85 68 ff ff ff mov %rax,-0x98(%rbp)
00b4 23ba384: 48 89 f0 mov %rsi,%rax
00b7 23ba387: 83 e0 07 and $0x7,%eax
00ba 23ba38a: 83 c0 03 add $0x3,%eax
00bd 23ba38d: 88 85 67 ff ff ff mov %al,-0x99(%rbp)
00c3 23ba393: 48 89 d8 mov %rbx,%rax
00c6 23ba396: 83 e0 07 and $0x7,%eax
00c9 23ba399: 83 c0 03 add $0x3,%eax
00cc 23ba39c: 88 85 66 ff ff ff mov %al,-0x9a(%rbp)
00d2 23ba3a2: eb 29 jmp 23ba3cd <vmw_port_hb_in+0xfd>
00d4 23ba3a4: 49 8d 72 c0 lea -0x40(%r10),%rsi
00d8 23ba3a8: 4c 89 ff mov %r15,%rdi
00db 23ba3ab: 4c 89 e2 mov %r12,%rdx
00de 23ba3ae: 4d 01 e7 add %r12,%r15
00e1 23ba3b1: e8 00 00 00 00 call 23ba3b6 <vmw_port_hb_in+0xe6> 23ba3b2: R_X86_64_PLT32 memcpy-0x4
00e6 23ba3b6: 4d 29 e6 sub %r12,%r14
00e9 23ba3b9: 4c 8d 55 d8 lea -0x28(%rbp),%r10
00ed 23ba3bd: 49 b9 00 00 00 00 00 fc ff df movabs $0xdffffc0000000000,%r9
00f7 23ba3c7: 0f 84 a2 00 00 00 je 23ba46f <vmw_port_hb_in+0x19f>
00fd 23ba3cd: 41 bc 04 00 00 00 mov $0x4,%r12d
0103 23ba3d3: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax
010a 23ba3da: 4d 39 e6 cmp %r12,%r14
010d 23ba3dd: 4d 0f 46 e6 cmovbe %r14,%r12
0111 23ba3e1: 0f b6 00 movzbl (%rax),%eax
0114 23ba3e4: 38 85 67 ff ff ff cmp %al,-0x99(%rbp)
011a 23ba3ea: 7c 08 jl 23ba3f4 <vmw_port_hb_in+0x124>
011c 23ba3ec: 84 c0 test %al,%al
011e 23ba3ee: 0f 85 d4 01 00 00 jne 23ba5c8 <vmw_port_hb_in+0x2f8>
0124 23ba3f4: 48 8b 85 70 ff ff ff mov -0x90(%rbp),%rax
012b 23ba3fb: 41 8b 75 04 mov 0x4(%r13),%esi
012f 23ba3ff: 48 c1 e8 03 shr $0x3,%rax
0133 23ba403: 42 0f b6 04 08 movzbl (%rax,%r9,1),%eax
0138 23ba408: 38 85 66 ff ff ff cmp %al,-0x9a(%rbp)
013e 23ba40e: 7c 08 jl 23ba418 <vmw_port_hb_in+0x148>
0140 23ba410: 84 c0 test %al,%al
0142 23ba412: 0f 85 83 01 00 00 jne 23ba59b <vmw_port_hb_in+0x2cb>
0148 23ba418: 4c 89 e8 mov %r13,%rax
014b 23ba41b: 45 8b 45 08 mov 0x8(%r13),%r8d
014f 23ba41f: 48 c1 e8 03 shr $0x3,%rax
0153 23ba423: 42 0f b6 14 08 movzbl (%rax,%r9,1),%edx
0158 23ba428: 4c 89 e8 mov %r13,%rax
015b 23ba42b: 83 e0 07 and $0x7,%eax
015e 23ba42e: 83 c0 01 add $0x1,%eax
0161 23ba431: 38 d0 cmp %dl,%al
0163 23ba433: 7c 08 jl 23ba43d <vmw_port_hb_in+0x16d>
0165 23ba435: 84 d2 test %dl,%dl
0167 23ba437: 0f 85 31 01 00 00 jne 23ba56e <vmw_port_hb_in+0x29e>
016d 23ba43d: 41 0f b7 55 00 movzwl 0x0(%r13),%edx
0172 23ba442: b8 68 58 4d 56 mov $0x564d5868,%eax
0177 23ba447: bb 01 00 00 00 mov $0x1,%ebx
017c 23ba44c: 4c 89 c7 mov %r8,%rdi
017f 23ba44f: b9 1e 00 04 00 mov $0x4001e,%ecx
0184 23ba454: c1 e2 10 shl $0x10,%edx
0187 23ba457: 66 ba 58 56 mov $0x5658,%dx
018b 23ba45b: ed in (%dx),%eax
018c 23ba45c: 49 89 5a c0 mov %rbx,-0x40(%r10)
0190 23ba460: 48 89 cb mov %rcx,%rbx
0193 23ba463: f7 c1 00 00 01 00 test $0x10000,%ecx
0199 23ba469: 0f 85 35 ff ff ff jne 23ba3a4 <vmw_port_hb_in+0xd4>
019f 23ba46f: 48 8b 8d 58 ff ff ff mov -0xa8(%rbp),%rcx
01a6 23ba476: 48 b8 00 00 00 00 00 fc ff df movabs $0xdffffc0000000000,%rax
01b0 23ba480: 48 c7 04 01 00 00 00 00 movq $0x0,(%rcx,%rax,1)
01b8 23ba488: 48 8b 45 d0 mov -0x30(%rbp),%rax
01bc 23ba48c: 65 48 2b 04 25 28 00 00 00 sub %gs:0x28,%rax
01c5 23ba495: 0f 85 4c 01 00 00 jne 23ba5e7 <vmw_port_hb_in+0x317>
01cb 23ba49b: 48 81 c4 98 00 00 00 add $0x98,%rsp
01d2 23ba4a2: 48 89 d8 mov %rbx,%rax
01d5 23ba4a5: 5b pop %rbx
01d6 23ba4a6: 41 5c pop %r12
01d8 23ba4a8: 41 5d pop %r13
01da 23ba4aa: 41 5e pop %r14
01dc 23ba4ac: 41 5f pop %r15
01de 23ba4ae: 5d pop %rbp
01df 23ba4af: c3 ret
01e0 23ba4b0: 48 8d 7f 08 lea 0x8(%rdi),%rdi
01e4 23ba4b4: 48 89 f8 mov %rdi,%rax
01e7 23ba4b7: 48 c1 e8 03 shr $0x3,%rax
01eb 23ba4bb: 42 0f b6 14 08 movzbl (%rax,%r9,1),%edx
01f0 23ba4c0: 48 89 f8 mov %rdi,%rax
01f3 23ba4c3: 83 e0 07 and $0x7,%eax
01f6 23ba4c6: 83 c0 03 add $0x3,%eax
01f9 23ba4c9: 38 d0 cmp %dl,%al
01fb 23ba4cb: 7c 08 jl 23ba4d5 <vmw_port_hb_in+0x205>
01fd 23ba4cd: 84 d2 test %dl,%dl
01ff 23ba4cf: 0f 85 17 01 00 00 jne 23ba5ec <vmw_port_hb_in+0x31c>
0205 23ba4d5: 4c 89 ea mov %r13,%rdx
0208 23ba4d8: 45 8b 65 08 mov 0x8(%r13),%r12d
020c 23ba4dc: 48 b8 00 00 00 00 00 fc ff df movabs $0xdffffc0000000000,%rax
0216 23ba4e6: 48 c1 ea 03 shr $0x3,%rdx
021a 23ba4ea: 0f b6 14 02 movzbl (%rdx,%rax,1),%edx
021e 23ba4ee: 4c 89 e8 mov %r13,%rax
0221 23ba4f1: 83 e0 07 and $0x7,%eax
0224 23ba4f4: 83 c0 01 add $0x1,%eax
0227 23ba4f7: 38 d0 cmp %dl,%al
0229 23ba4f9: 7c 08 jl 23ba503 <vmw_port_hb_in+0x233>
022b 23ba4fb: 84 d2 test %dl,%dl
022d 23ba4fd: 0f 85 f7 00 00 00 jne 23ba5fa <vmw_port_hb_in+0x32a>
0233 23ba503: 49 8d 7d 04 lea 0x4(%r13),%rdi
0237 23ba507: 41 0f b7 55 00 movzwl 0x0(%r13),%edx
023c 23ba50c: 48 b8 00 00 00 00 00 fc ff df movabs $0xdffffc0000000000,%rax
0246 23ba516: 48 89 f9 mov %rdi,%rcx
0249 23ba519: 48 c1 e9 03 shr $0x3,%rcx
024d 23ba51d: c1 e2 10 shl $0x10,%edx
0250 23ba520: 0f b6 0c 01 movzbl (%rcx,%rax,1),%ecx
0254 23ba524: 48 89 f8 mov %rdi,%rax
0257 23ba527: 83 e0 07 and $0x7,%eax
025a 23ba52a: 83 c0 03 add $0x3,%eax
025d 23ba52d: 38 c8 cmp %cl,%al
025f 23ba52f: 7c 08 jl 23ba539 <vmw_port_hb_in+0x269>
0261 23ba531: 84 c9 test %cl,%cl
0263 23ba533: 0f 85 d2 00 00 00 jne 23ba60b <vmw_port_hb_in+0x33b>
0269 23ba539: 41 8b 75 04 mov 0x4(%r13),%esi
026d 23ba53d: 83 ca 01 or $0x1,%edx
0270 23ba540: b8 68 58 4d 56 mov $0x564d5868,%eax
0275 23ba545: 4c 89 f1 mov %r14,%rcx
0278 23ba548: bb 00 00 01 00 mov $0x10000,%ebx
027d 23ba54d: 4c 89 ff mov %r15,%rdi
0280 23ba550: 55 push %rbp
0281 23ba551: 4c 89 e5 mov %r12,%rbp
0284 23ba554: 66 ba 59 56 mov $0x5659,%dx
0288 23ba558: f3 6c rep insb (%dx),%es:(%rdi)
028a 23ba55a: 5d pop %rbp
028b 23ba55b: 49 89 5a c0 mov %rbx,-0x40(%r10)
028f 23ba55f: e9 0b ff ff ff jmp 23ba46f <vmw_port_hb_in+0x19f>
0294 23ba564: bb 00 00 01 00 mov $0x10000,%ebx
0299 23ba569: e9 01 ff ff ff jmp 23ba46f <vmw_port_hb_in+0x19f>
029e 23ba56e: 4c 89 ef mov %r13,%rdi
02a1 23ba571: 4c 89 85 40 ff ff ff mov %r8,-0xc0(%rbp)
02a8 23ba578: 48 89 b5 48 ff ff ff mov %rsi,-0xb8(%rbp)
02af 23ba57f: e8 00 00 00 00 call 23ba584 <vmw_port_hb_in+0x2b4> 23ba580: R_X86_64_PLT32 __asan_report_load2_noabort-0x4
02b4 23ba584: 4c 8b 85 40 ff ff ff mov -0xc0(%rbp),%r8
02bb 23ba58b: 48 8b b5 48 ff ff ff mov -0xb8(%rbp),%rsi
02c2 23ba592: 4c 8d 55 d8 lea -0x28(%rbp),%r10
02c6 23ba596: e9 a2 fe ff ff jmp 23ba43d <vmw_port_hb_in+0x16d>
02cb 23ba59b: 48 8b bd 70 ff ff ff mov -0x90(%rbp),%rdi
02d2 23ba5a2: 48 89 b5 48 ff ff ff mov %rsi,-0xb8(%rbp)
02d9 23ba5a9: e8 00 00 00 00 call 23ba5ae <vmw_port_hb_in+0x2de> 23ba5aa: R_X86_64_PLT32 __asan_report_load4_noabort-0x4
02de 23ba5ae: 48 8b b5 48 ff ff ff mov -0xb8(%rbp),%rsi
02e5 23ba5b5: 4c 8d 55 d8 lea -0x28(%rbp),%r10
02e9 23ba5b9: 49 b9 00 00 00 00 00 fc ff df movabs $0xdffffc0000000000,%r9
02f3 23ba5c3: e9 50 fe ff ff jmp 23ba418 <vmw_port_hb_in+0x148>
02f8 23ba5c8: 48 8b bd 50 ff ff ff mov -0xb0(%rbp),%rdi
02ff 23ba5cf: e8 00 00 00 00 call 23ba5d4 <vmw_port_hb_in+0x304> 23ba5d0: R_X86_64_PLT32 __asan_report_load4_noabort-0x4
0304 23ba5d4: 4c 8d 55 d8 lea -0x28(%rbp),%r10
0308 23ba5d8: 49 b9 00 00 00 00 00 fc ff df movabs $0xdffffc0000000000,%r9
0312 23ba5e2: e9 0d fe ff ff jmp 23ba3f4 <vmw_port_hb_in+0x124>
0317 23ba5e7: e8 00 00 00 00 call 23ba5ec <vmw_port_hb_in+0x31c> 23ba5e8: R_X86_64_PLT32 __stack_chk_fail-0x4
031c 23ba5ec: e8 00 00 00 00 call 23ba5f1 <vmw_port_hb_in+0x321> 23ba5ed: R_X86_64_PLT32 __asan_report_load4_noabort-0x4
0321 23ba5f1: 4c 8d 55 d8 lea -0x28(%rbp),%r10
0325 23ba5f5: e9 db fe ff ff jmp 23ba4d5 <vmw_port_hb_in+0x205>
032a 23ba5fa: 4c 89 ef mov %r13,%rdi
032d 23ba5fd: e8 00 00 00 00 call 23ba602 <vmw_port_hb_in+0x332> 23ba5fe: R_X86_64_PLT32 __asan_report_load2_noabort-0x4
0332 23ba602: 4c 8d 55 d8 lea -0x28(%rbp),%r10
0336 23ba606: e9 f8 fe ff ff jmp 23ba503 <vmw_port_hb_in+0x233>
033b 23ba60b: 89 95 70 ff ff ff mov %edx,-0x90(%rbp)
0341 23ba611: e8 00 00 00 00 call 23ba616 <vmw_port_hb_in+0x346> 23ba612: R_X86_64_PLT32 __asan_report_load4_noabort-0x4
0346 23ba616: 8b 95 70 ff ff ff mov -0x90(%rbp),%edx
034c 23ba61c: 4c 8d 55 d8 lea -0x28(%rbp),%r10
0350 23ba620: e9 14 ff ff ff jmp 23ba539 <vmw_port_hb_in+0x269>
0355 23ba625: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0(%rax,%rax,1)

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


Attachments:
(No filename) (15.06 kB)
config (145.01 kB)
Download all attachments

2023-05-30 23:55:06

by Josh Poimboeuf

[permalink] [raw]
Subject: Re: vmlinux.o: warning: objtool: vmw_port_hb_in+0x1df: return with modified stack frame

On Tue, May 16, 2023 at 01:44:48AM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6
> commit: 72064474964724c59ddff58a581a31b1ede75cf9 objtool: Make stack validation frame-pointer-specific
> date: 1 year, 1 month ago
> config: x86_64-randconfig-x091-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=72064474964724c59ddff58a581a31b1ede75cf9
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout 72064474964724c59ddff58a581a31b1ede75cf9
> # 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 <[email protected]>
> | Link: https://lore.kernel.org/oe-kbuild-all/[email protected]/

A link to the actual config would help...

--
Josh

2023-05-31 02:11:58

by Li, Philip

[permalink] [raw]
Subject: Re: vmlinux.o: warning: objtool: vmw_port_hb_in+0x1df: return with modified stack frame

On Tue, May 30, 2023 at 04:29:25PM -0700, Josh Poimboeuf wrote:
> On Tue, May 16, 2023 at 01:44:48AM +0800, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head: f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6
> > commit: 72064474964724c59ddff58a581a31b1ede75cf9 objtool: Make stack validation frame-pointer-specific
> > date: 1 year, 1 month ago
> > config: x86_64-randconfig-x091-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=72064474964724c59ddff58a581a31b1ede75cf9
> > git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> > git fetch --no-tags linus master
> > git checkout 72064474964724c59ddff58a581a31b1ede75cf9
> > # 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 <[email protected]>
> > | Link: https://lore.kernel.org/oe-kbuild-all/[email protected]/
>
> A link to the actual config would help...

Hi Josh, here is the link https://lore.kernel.org/oe-kbuild-all/[email protected]/2-config,
kindly check.

>
> --
> Josh
>