[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160628125748.GK31744@leverpostej>
Date: Tue, 28 Jun 2016 13:57:49 +0100
From: Mark Rutland <mark.rutland@....com>
To: Emese Revfy <re.emese@...il.com>
Cc: kernel-hardening@...ts.openwall.com, pageexec@...email.hu,
spender@...ecurity.net, mmarek@...e.com, keescook@...omium.org,
linux-kernel@...r.kernel.org, yamada.masahiro@...ionext.com,
linux-kbuild@...r.kernel.org, minipli@...linux.so,
linux@...linux.org.uk, catalin.marinas@....com,
linux@...musvillemoes.dk, david.brown@...aro.org,
benh@...nel.crashing.org, tglx@...utronix.de,
akpm@...ux-foundation.org, jlayton@...chiereds.net, arnd@...db.de
Subject: Re: [kernel-hardening] [PATCH v1 0/2] Introduce the initify gcc
plugin
On Tue, Jun 28, 2016 at 01:34:07PM +0200, Emese Revfy wrote:
> I would like to introduce the initify gcc plugin. 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 reduces memory usage.
> The initify gcc plugin can be useful for embedded systems.
>
> It is a CII project supported by the Linux Foundation.
>
> This plugin is the part of grsecurity/PaX.
>
> The plugin supports all gcc versions from 4.5 to 6.0.
>
> I made some changes on top of the PaX version (since March 6.). These are
> the important ones:
> * move all local strings to init.rodata.str and exit.rodata.str
> (not just __func__)
> * report all initified strings and functions
> (GCC_PLUGIN_INITIFY_VERBOSE config option)
> * automatically discover init/exit functions and apply the __init or
> __exit attributes on them
>
> You can find more about the changes here:
> https://github.com/ephox-gcc-plugins/initify
>
> This patch set is based on the "Add support for complex gcc plugins that
> don't fit in a single file" patch set (git/kees/linux.git#kspp HEAD:
> e5d4798b284cd192c8b).
I was hoping to give this a spin on arm/arm64, but I couldn't find the
prerequisite branch/tag/commit in that tree:
https://git.kernel.org/cgit/linux/kernel/git/kees/linux.git/commit/?id=e5d4798b284cd192c8b
Where should I be looking?
Thanks,
Mark.
Powered by blists - more mailing lists