|
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
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.