Re: [PATCH] ACPICA: use designated initializers

From: Kees Cook
Date: Mon May 08 2017 - 16:05:50 EST


On Tue, Apr 4, 2017 at 8:55 AM, Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> On Tue, Apr 4, 2017 at 8:02 AM, Moore, Robert <robert.moore@xxxxxxxxx> wrote:
>>> -----Original Message-----
>>> From: keescook@xxxxxxxxxx [mailto:keescook@xxxxxxxxxx] On Behalf Of Kees
>>> Cook
>>> Sent: Monday, April 3, 2017 10:29 AM
>>> To: Moore, Robert <robert.moore@xxxxxxxxx>
>>> Cc: Zheng, Lv <lv.zheng@xxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx;
>>> Wysocki, Rafael J <rafael.j.wysocki@xxxxxxxxx>; Len Brown
>>> <lenb@xxxxxxxxxx>; linux-acpi@xxxxxxxxxxxxxxx; devel@xxxxxxxxxx
>>> Subject: Re: [PATCH] ACPICA: use designated initializers
>>>
>>> On Fri, Mar 31, 2017 at 5:45 PM, Moore, Robert <robert.moore@xxxxxxxxx>
>>> wrote:
>>> > Acpica is built with many compilers, even very old ones. It runs on at
>>> least 12 known operating systems, and very probably more.
>>> >
>>> > I'm sorry, but no, we are not going to start adding compiler-specific
>>> ifdefs/code in the base ACPICA code.
>>> >
>>> > I don't care what you do in the Linux-specific or gcc-specific
>>> headers, however. If this breaks a customer build, we (you) will hear
>>> about it rather quickly.
>>>
>>> Since the change is specific to the one place ACPICA uses an all-
>>> function-pointer structure, I made the change local:
>>>
>>> https://github.com/acpica/acpica/pull/248
>>>
>>> would you rather this is in the .h files instead?
>>>
>>> -Kees
>>>
>>> --
>>> Kees Cook
>>> Pixel Security
>>
>>
>>
>>
>> [Moore, Robert]
>>
>> I have some questions about this entire issue:
>>
>> + * Some compilers can handle designated initializers, which is needed
>> + * under Linux kernel builds for structures that are entirely function
>> * pointers.
>>
>> I don't understand why this is coming up now, since ACPICA has been integrated with Linux for something like the last 15 years. It's the "which is needed under Linux kernel builds" wording that concerns me the most. Are you saying that the ACPICA build for Linux is broken and does not work?
>
> I was trying to avoid being overly Linux-specific in the ACPICA commit
> message. More accurately, this is "for future Linux builds using the
> structure layout randomization plugin." That plugin will randomize the
> layout of manually marked structures and automatically for structures
> that are entirely function pointers. (And this acpica structure is one
> noticed by the plugin.)

Here is the merge request in upstream ACPICA. Can anyone re-review it?

https://github.com/acpica/acpica/pull/248/

Thanks!

-Kees

--
Kees Cook
Pixel Security