Re: linux-next: Tree for Jul 21

From: Andy Lutomirski
Date: Thu Sep 29 2016 - 19:23:32 EST


On Thu, Sep 29, 2016 at 4:14 PM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> Hi Segher,
>
> [Adding more cc's]
>
> On Thu, 29 Sep 2016 14:34:42 -0500 Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx> wrote:
>>
>> On Thu, Jul 21, 2016 at 07:52:43PM -0400, Paul Gortmaker wrote:
>> > A new i386-allmodconfig fail showed up relating to VDSO:
>> >
>> > I tried to reproduce it locally with x86-64 build host and could
>> > not, so I wonder if it is a missing HOSTCC vs. CC since next
>> > coverage is power host...
>> >
>> > VDSO2C arch/x86/entry/vdso/vdso-image-32.c
>> > Error: input is not a shared object
>> > make[4]: *** [arch/x86/entry/vdso/vdso-image-32.c] Error 1
>> > make[3]: *** [arch/x86/entry/vdso] Error 2
>> > make[2]: *** [arch/x86/entry] Error 2
>>
>> This is caused by building on a BE (better-endian) host. See patch.
>>
>>
>> Segher
>>
>>
>> ===
>> From 7f098efa4d184ab1216c6cf8214c44a3abe50a14 Mon Sep 17 00:00:00 2001
>> Message-Id: <7f098efa4d184ab1216c6cf8214c44a3abe50a14.1475177310.git.segher@xxxxxxxxxxxxxxxxxxx>
>> From: Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx>
>> Date: Thu, 29 Sep 2016 11:51:00 +0000
>> Subject: [PATCH] x86: Fix building on BE
>>
>> We need to call GET_LE to read hdr->e_type.
>>
>
> Fixes: 57f90c3dfc75 ("x86/vdso: Error out if the vDSO isn't a valid DSO")
>
>> Signed-off-by: Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx>
>
> 57f90c3dfc75 was merged as part of the last merge window, so this is a
> fix for Linus' tree.
>
>> ---
>> arch/x86/entry/vdso/vdso2c.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/x86/entry/vdso/vdso2c.h b/arch/x86/entry/vdso/vdso2c.h
>> index 4f74119..3dab75f 100644
>> --- a/arch/x86/entry/vdso/vdso2c.h
>> +++ b/arch/x86/entry/vdso/vdso2c.h
>> @@ -22,7 +22,7 @@ static void BITSFUNC(go)(void *raw_addr, size_t raw_len,
>>
>> ELF(Phdr) *pt = (ELF(Phdr) *)(raw_addr + GET_LE(&hdr->e_phoff));
>>
>> - if (hdr->e_type != ET_DYN)
>> + if (GET_LE(&hdr->e_type) != ET_DYN)
>> fail("input is not a shared object\n");

Whoops!

Acked-by: Andy Lutomirski <luto@xxxxxxxxxx>

>>
>> /* Walk the segment table. */
>> --
>> 1.9.3
>
> --
> Cheers,
> Stephen Rothwell



--
Andy Lutomirski
AMA Capital Management, LLC