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>] [<thread-prev] [day] [month] [year] [list]
Date:	Sun, 10 Jan 2016 11:47:26 -0800
From:	Guenter Roeck <linux@...ck-us.net>
To:	Ard Biesheuvel <ard.biesheuvel@...aro.org>
Cc:	Matt Fleming <matt@...eblueprint.co.uk>,
	"linux-efi@...r.kernel.org" <linux-efi@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Will Deacon <will.deacon@....com>
Subject: Re: [PATCH -next] efi: Do not include asm/efi.h if not needed

On 01/10/2016 11:39 AM, Guenter Roeck wrote:
> On 01/10/2016 09:31 AM, Ard Biesheuvel wrote:
>> On 10 January 2016 at 18:02, Ard Biesheuvel <ard.biesheuvel@...aro.org> wrote:
>>> On 10 January 2016 at 16:35, Guenter Roeck <linux@...ck-us.net> wrote:
>>>> Commit f7d924894265 ("arm64/efi: refactor EFI init and runtime code
>>>> for reuse by 32-bit ARM") adds an include of asm/efi.h to efi.c.
>>>> This causes a build failure for ia64, where asm/efi.h does not exist.
>>>>
>>>> drivers/firmware/efi/efi.c:28:21: fatal error:
>>>>          asm/efi.h: No such file or directory
>>>>
>>>> asm/efi.h does not define or declare anything used by efi.c, thus
>>>> including it should not be needed.
>>>>
>>>> Fixes: f7d924894265 ("arm64/efi: refactor EFI init and runtime code for reuse by 32-bit ARM")
>>>> Cc: Ard Biesheuvel <ard.biesheuvel@...aro.org>
>>>> Cc: Will Deacon <will.deacon@....com>
>>>> Signed-off-by: Guenter Roeck <linux@...ck-us.net>
>>>
>>> This fixes ia64 but breaks ARM
>>>
>>> drivers/firmware/efi/efi.c: In function ‘efi_mem_desc_lookup’:
>>> drivers/firmware/efi/efi.c:291:3: error: implicit declaration of
>>> function ‘early_memremap’ [-Werror=implicit-function-declaration]
>>> drivers/firmware/efi/efi.c:291:6: warning: assignment makes pointer
>>> from integer without a cast [enabled by default]
>>> drivers/firmware/efi/efi.c:301:4: error: implicit declaration of
>>> function ‘early_memunmap’ [-Werror=implicit-function-declaration]
>>> drivers/firmware/efi/efi.c: In function ‘efi_config_parse_tables’:
>>> drivers/firmware/efi/efi.c:404:7: warning: assignment makes pointer
>>> from integer without a cast [enabled by default]
>>> drivers/firmware/efi/efi.c: In function ‘efi_config_init’:
>>> drivers/firmware/efi/efi.c:433:16: warning: assignment makes pointer
>>> from integer without a cast [enabled by default]
>>>
>>
>> This means efi.c should include <asm/early_ioremap.h> but that does
>> not exist on ia64 either.
>> Perhaps add a #ifdef CONFIG_IA64?
>>
> #include <asm/io.h>
>
> I'll check if that works for all architectures.
>

... and it doesn't.

Ok, I give up on that one. I don't know what a proper fix would be.
My argument would be that the arm changes broke the build for ia64,
are therefore the culprit and should either be reverted or dropped.
But I'll leave that to the ia64 and efi maintainers to sort out.

Thanks,
Guenter

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ