Re: linux-next: Tree for Feb 20

From: Zhangshaokun
Date: Thu Feb 21 2019 - 03:42:30 EST


Hi Geert,

On 2019/2/21 16:03, Geert Uytterhoeven wrote:
> Hi Shaokun,
>
> On Thu, Feb 21, 2019 at 1:45 AM Zhangshaokun <zhangshaokun@xxxxxxxxxxxxx> wrote:
>> On 2019/2/20 18:05, Ard Biesheuvel wrote:
>>> On Wed, 20 Feb 2019 at 10:58, Jarkko Sakkinen
>>> <jarkko.sakkinen@xxxxxxxxxxxxxxx> wrote:
>>>>
>>>> On Wed, Feb 20, 2019 at 11:52:52AM +0200, Jarkko Sakkinen wrote:
>>>>> On Wed, Feb 20, 2019 at 05:11:15PM +0800, Zhangshaokun wrote:
>>>>>> There is a compiler failure on arm64 platform, as follow:
>>>>>>
>>>>>> AS arch/arm64/kvm/hyp.o
>>>>>> CC kernel/trace/ring_buffer.o
>>>>>> In file included from security/integrity/ima/ima_fs.c:30:0:
>>>>>> security/integrity/ima/ima.h:176:7: error: redeclaration of enumerator âNONEâ
>>>>>> hook(NONE) \
>>>>>> ^
>>>>>> security/integrity/ima/ima.h:188:34: note: in definition of macro â__ima_hook_enumifyâ
>>>>>> #define __ima_hook_enumify(ENUM) ENUM,
>>>>>> ^
>>>>>> security/integrity/ima/ima.h:191:2: note: in expansion of macro â__ima_hooksâ
>>>>>> __ima_hooks(__ima_hook_enumify)
>>>>>> ^
>>>>>> In file included from ./arch/arm64/include/asm/acpi.h:15:0,
>>>>>> from ./include/acpi/acpi_io.h:7,
>>>>>> from ./include/linux/acpi.h:47,
>>>>>> from ./include/linux/tpm.h:26,
>>>>>> from security/integrity/ima/ima.h:25,
>>>>>> from security/integrity/ima/ima_fs.c:30:
>>>>>> ./include/linux/efi.h:1716:2: note: previous definition of âNONEâ was here
>>>>>> NONE,
>>>>>> ^
>>>>>> scripts/Makefile.build:276: recipe for target 'security/integrity/ima/ima_fs.o' failed
>>>>>> make[3]: *** [security/integrity/ima/ima_fs.o] Error 1
>>>>>>
>>>>>> I dug it and it is the commit 901615cb916d ("tpm: move tpm_chip definition to include/linux/tpm.h")
>>>>>
>>>>> This results from a new include in tpm.h:
>>>>>
>>>>> #include <linux/acpi.h>
>>>>>
>>>>> Must be fixed either in include/linux/efi.h or security/integrity/ima.h as
>>>>> those files have a name collision. Makes me wonder why neither has taken
>>>>> care of prefixing the constants properly.
>>>>
>>>> Preferably both subsystems should be fixed with proper 'EFI_' and 'IMA_'
>>>> prefixes. Defining a constant named as NONE in a non-generic subsystem
>>>> (e.g. not part of the core data structures of Linux) and especially
>>>> exporting it to include/linux is not too well considered act.
>>>>
>>>
>>> Fixes for this have already been proposed, and should appear in -next shortly
>>>
>>> The EFI one is here
>>> https://mail.google.com/mail/u/0/#label/linux-efi/FMfcgxwBVgrQRjglPkWRqRqVclGgVDnB
>>>
>>
>> Because of no privilege, the website is denied for me. Anyway, it's nice to have been fixed.
>
> Looks like Ard posted a link to a label in his personal gmail mailbox?
>

Hmm, it seems that, my bad understanding.

Thanks your reply.

> Gr{oetje,eeting}s,
>
> Geert
>