[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGXu5jLG6bprjCpu2oF6dexsu+8jU-WX59LY-=wUx27U459Y5Q@mail.gmail.com>
Date: Tue, 12 Jul 2016 15:45:56 -0400
From: Kees Cook <keescook@...omium.org>
To: Emese Revfy <re.emese@...il.com>
Cc: "kernel-hardening@...ts.openwall.com"
<kernel-hardening@...ts.openwall.com>,
PaX Team <pageexec@...email.hu>,
Brad Spengler <spender@...ecurity.net>,
Michal Marek <mmarek@...e.com>,
LKML <linux-kernel@...r.kernel.org>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
linux-kbuild <linux-kbuild@...r.kernel.org>, minipli@...linux.so,
Russell King <linux@...linux.org.uk>,
Catalin Marinas <catalin.marinas@....com>,
Rasmus Villemoes <linux@...musvillemoes.dk>,
David Brown <david.brown@...aro.org>,
"benh@...nel.crashing.org" <benh@...nel.crashing.org>,
Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>,
Jeff Layton <jlayton@...chiereds.net>,
Arnd Bergmann <arnd@...db.de>, Sam Ravnborg <sam@...nborg.org>,
Karsten Keil <isdn@...ux-pingi.de>
Subject: Re: [PATCH v2 1/3] Add the initify gcc plugin
On Mon, Jul 4, 2016 at 7:40 PM, Emese Revfy <re.emese@...il.com> wrote:
> The kernel already has a mechanism to free up code and data memory that
> is only used during kernel or module initialization.
> This plugin will teach the compiler to find more such code and data that
> can be freed after initialization.
> It has two passes. The first one tries to find all functions that
> can be become __init/__exit. The second one moves string constants
> (local variables and function string arguments marked by
> the nocapture attribute) only referenced in __init/__exit functions
> to the __initconst/__exitconst sections.
> It reduces memory usage. This plugin can be useful for embedded systems.
>
> If a function is called by __init and __exit functions as well then
> the plugin moves it to the __exit section. This causes false positive
> section mismatch errors/warnings that I don't know how to handle yet.
Should the mismatch checker be updated to recognize this case? Without
the plugin, I assume these kinds of functions would only ever be
marked for __exit? If so, should the plugin strip the __init marking
and only add __exit?
> The instrumentation pass of the latent_entropy plugin must run after
> the initify plugin to increase coverage.
>
> Signed-off-by: Emese Revfy <re.emese@...il.com>
Thanks for sending this! I'll get it added to my tree for some 0day
build testing, and then get it into my -next tree.
-Kees
--
Kees Cook
Chrome OS & Brillo Security
Powered by blists - more mailing lists