Re: linux-next: Tree for Apr 23 (objtool warnings)

From: Kees Cook
Date: Thu Apr 23 2020 - 15:24:10 EST


On Thu, Apr 23, 2020 at 10:29:21AM -0500, Josh Poimboeuf wrote:
> On Thu, Apr 23, 2020 at 07:59:31AM -0700, Randy Dunlap wrote:
> > On 4/23/20 12:41 AM, Stephen Rothwell wrote:
> > > Hi all,
> > >
> > > Changes since 20200422:
> > >
> >
> > on x86_64:
>
> More truncation of functions by CONFIG_USBAN_TRAP. Kees?

Looks like another randconfig with CONFIG_UBSAN_ALIGNMENT=y

I will test this and see if my proposed Kconfig change solves it.

-Kees

>
> > drivers/target/target_core_xcopy.o: warning: objtool: target_xcopy_do_work()+0x6dd: unreachable instruction
>
> 0000000000000170 <target_xcopy_read_source>:
> 170: 55 push %rbp
> 171: 48 89 e5 mov %rsp,%rbp
> 174: 48 81 ec 40 03 00 00 sub $0x340,%rsp
> 17b: 65 48 8b 0c 25 28 00 mov %gs:0x28,%rcx
> 182: 00 00
> 184: 48 89 4d f8 mov %rcx,-0x8(%rbp)
> 188: 31 c9 xor %ecx,%ecx
> 18a: 83 e2 07 and $0x7,%edx
> 18d: 75 34 jne 1c3 <target_xcopy_read_source+0x53>
> 18f: 48 89 f0 mov %rsi,%rax
> 192: 83 e0 07 and $0x7,%eax
> 195: 75 2c jne 1c3 <target_xcopy_read_source+0x53>
> 197: 48 8d 95 d0 fc ff ff lea -0x330(%rbp),%rdx
> 19e: b9 65 00 00 00 mov $0x65,%ecx
> 1a3: 48 c7 c6 00 00 00 00 mov $0x0,%rsi
> 1a6: R_X86_64_32S .rodata.str1.1
> 1aa: 48 89 d7 mov %rdx,%rdi
> 1ad: 48 c7 c2 00 00 00 00 mov $0x0,%rdx
> 1b0: R_X86_64_32S .bss+0x560
> 1b4: f3 48 ab rep stos %rax,%es:(%rdi)
> 1b7: 48 8d bd 48 ff ff ff lea -0xb8(%rbp),%rdi
> 1be: e8 00 00 00 00 callq 1c3 <target_xcopy_read_source+0x53>
> 1bf: R_X86_64_PLT32 __init_swait_queue_head-0x4
> 1c3: 0f 0b ud2
> 1c5: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1)
> 1cc: 00 00 00 00
>
> > net/mac80211/rx.o: warning: objtool: __ieee80211_check_fast_rx_iface()+0x79: unreachable instruction
>
> 0000000000007be0 <ieee80211_check_fast_rx>:
> 7be0: 40 f6 c7 07 test $0x7,%dil
> 7be4: 75 44 jne 7c2a <ieee80211_check_fast_rx+0x4a>
> 7be6: 48 8b 57 50 mov 0x50(%rdi),%rdx
> 7bea: 48 89 d0 mov %rdx,%rax
> 7bed: 83 e0 07 and $0x7,%eax
> 7bf0: 75 3c jne 7c2e <ieee80211_check_fast_rx+0x4e>
> 7bf2: 55 push %rbp
> 7bf3: b9 06 00 00 00 mov $0x6,%ecx
> 7bf8: 48 89 e5 mov %rsp,%rbp
> 7bfb: 48 83 ec 38 sub $0x38,%rsp
> 7bff: 48 8d 75 d0 lea -0x30(%rbp),%rsi
> 7c03: 48 89 f7 mov %rsi,%rdi
> 7c06: f3 48 ab rep stos %rax,%es:(%rdi)
> 7c09: 48 8b 82 d8 03 00 00 mov 0x3d8(%rdx),%rax
> 7c10: 48 89 45 d0 mov %rax,-0x30(%rbp)
> 7c14: 8b 82 68 0f 00 00 mov 0xf68(%rdx),%eax
> 7c1a: 89 45 d8 mov %eax,-0x28(%rbp)
> 7c1d: 48 c7 c0 00 00 00 00 mov $0x0,%rax
> 7c20: R_X86_64_32S rfc1042_header
> 7c24: a8 03 test $0x3,%al
> 7c26: 75 04 jne 7c2c <ieee80211_check_fast_rx+0x4c>
> 7c28: 0f 0b ud2
> 7c2a: 0f 0b ud2
> 7c2c: 0f 0b ud2
> 7c2e: 0f 0b ud2
>
> --
> Josh
>

--
Kees Cook