RE: [PATCH] ACPICA: use designated initializers

From: Moore, Robert
Date: Tue Apr 04 2017 - 11:03:37 EST


> -----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?

Further, there are quite a few similar dispatch tables in ACPICA, why are these not a problem?

Bob