Re: [PATCH] cgroup: reorder flexible array members of struct cgroup_root

From: Aleksa Sarai
Date: Sat Oct 21 2017 - 11:59:53 EST


Here, not necessarily but I don't want to move it for a bogus reason.
Why would we disallow embedding structs with flexible members in the
middle when it can be done and is useful? If we want to discuss
whether we want to avoid such usages in the kernel (but why?), sure,
let's have that discussion but we can't decide that on "clang warns on
it by default".

There was a talk a few years ago by the clang folks[1] saying that while trying to build a kernel with clang, they discovered that several places in the kernel uses "VLAIS" (variable Length Arrays In Structs") and argued that this is a violation of the C specification, despite it being a GNU extension. They also submitted several patches that removed this code (even working around a user-space visible usage of VLAIS).

[1]: https://www.linuxplumbersconf.org/2013/ocw/system/presentations/1221/original/VLAIS.pdf

--
Aleksa Sarai
Senior Software Engineer (Containers)
SUSE Linux GmbH
https://www.cyphar.com/