Re: [PATCH] sgi-xp: use designated initializers

From: Kees Cook
Date: Tue Jan 03 2017 - 18:19:39 EST


On Wed, Dec 21, 2016 at 8:24 AM, Robin Holt <robinmholt@xxxxxxxxx> wrote:
> On Fri, Dec 16, 2016 at 7:01 PM, Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>> Prepare to mark sensitive kernel structures for randomization by making
>> sure they're using designated initializers. These were identified during
>> allyesconfig builds of x86, arm, and arm64, with most initializer fixes
>> extracted from grsecurity.
>
> I guess I don't understand the context enough here to give you a
> Signed-off-by. Can you give us more background on this randomization?

Sure thing! The randomization is on the order of function pointers in
all-pointer structures (like struct xpc_interface). As long as the
memory containing the structure isn't shared externally, this
randomization should have no operational effect. The reason explicit
no-op functions were added was to avoid ugly casts, etc.

> From what I see in the code here, I can see you are providing
> equivalent functionality and I would give it a signed-off-by, but I am
> not sure this randomization of which you speak is not going to cause
> problems for XP, XPC, XPNET, and XPMEM (out of tree GPL kernel
> module).

Ah, hm, does this module share the structure without being built
against the kernel? (If built with the kernel, the randomization
plugin will keep things in the right order.)

-Kees

--
Kees Cook
Nexus Security