All of lore.kernel.org
 help / color / mirror / Atom feed
From: Emese Revfy <re.emese@gmail.com>
To: Kees Cook <keescook@chromium.org>
Cc: "kernel-hardening@lists.openwall.com" 
	<kernel-hardening@lists.openwall.com>,
	PaX Team <pageexec@freemail.hu>,
	Brad Spengler <spender@grsecurity.net>,
	Michal Marek <mmarek@suse.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	linux-kbuild <linux-kbuild@vger.kernel.org>,
	minipli@ld-linux.so, Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	David Brown <david.brown@linaro.org>,
	"benh@kernel.crashing.org" <benh@kernel.crashing.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	Jeff Layton <jlayton@poochiereds.net>,
	Arnd Bergmann <arnd@arndb.de>, Sam Ravnborg <sam@ravnborg.org>,
	Karsten Keil <isdn@linux-pingi.de>
Subject: Re: [PATCH v2 1/3] Add the initify gcc plugin
Date: Wed, 13 Jul 2016 22:34:08 +0200	[thread overview]
Message-ID: <20160713223408.8e52842ddda8818cec83d6a6@gmail.com> (raw)
In-Reply-To: <CAGXu5j+W2hZGkudskkmEn+beEN04qmg16-k7Rna-QRT3vyEW2g@mail.gmail.com>

On Tue, 12 Jul 2016 16:05:45 -0400
Kees Cook <keescook@chromium.org> wrote:

> /*
>  * The initify gcc-plugin attempts to identify const arguments that are only
>  * used during init (see __init), so they can be moved to the .init.rodata
>  * section. If an argument is passed to a non-init function, it must
>  * normally be assumed that such an argument has been captured by that
>  * function and may be used in the future when .init has been unmapped from
>  * memory. In order to identify functions that are confirmed to not capture
>  * their arguments, the __nocapture() attribute is used so that initify can
>  * better identify candidate variables.
>  */
> #ifdef INITIFY_PLUGIN
> # define __nocapture(...) __attribute__((nocapture(__VA_ARGS__)))
> #endif

Thanks, I'll take it in the next patch set with some additions (the attribute
also handles __exit functions and the plugin does other things e.g., it can
identify candidate init/exit functions and move them automatically to init.text/exit.text).

-- 
Emese

WARNING: multiple messages have this Message-ID (diff)
From: Emese Revfy <re.emese@gmail.com>
To: Kees Cook <keescook@chromium.org>
Cc: "kernel-hardening@lists.openwall.com"
	<kernel-hardening@lists.openwall.com>,
	PaX Team <pageexec@freemail.hu>,
	Brad Spengler <spender@grsecurity.net>,
	Michal Marek <mmarek@suse.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Masahiro Yamada <yamada.masahiro@socionext.com>,
	linux-kbuild <linux-kbuild@vger.kernel.org>,
	minipli@ld-linux.so, Russell King <linux@armlinux.org.uk>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	David Brown <david.brown@linaro.org>,
	"benh@kernel.crashing.org" <benh@kernel.crashing.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	Jeff Layton <jlayton@poochiereds.net>,
	Arnd Bergmann <arnd@arndb.de>, Sam Ravnborg <sam@ravnborg.org>,
	Karsten Keil <isdn@linux-pingi.de>
Subject: [kernel-hardening] Re: [PATCH v2 1/3] Add the initify gcc plugin
Date: Wed, 13 Jul 2016 22:34:08 +0200	[thread overview]
Message-ID: <20160713223408.8e52842ddda8818cec83d6a6@gmail.com> (raw)
In-Reply-To: <CAGXu5j+W2hZGkudskkmEn+beEN04qmg16-k7Rna-QRT3vyEW2g@mail.gmail.com>

On Tue, 12 Jul 2016 16:05:45 -0400
Kees Cook <keescook@chromium.org> wrote:

> /*
>  * The initify gcc-plugin attempts to identify const arguments that are only
>  * used during init (see __init), so they can be moved to the .init.rodata
>  * section. If an argument is passed to a non-init function, it must
>  * normally be assumed that such an argument has been captured by that
>  * function and may be used in the future when .init has been unmapped from
>  * memory. In order to identify functions that are confirmed to not capture
>  * their arguments, the __nocapture() attribute is used so that initify can
>  * better identify candidate variables.
>  */
> #ifdef INITIFY_PLUGIN
> # define __nocapture(...) __attribute__((nocapture(__VA_ARGS__)))
> #endif

Thanks, I'll take it in the next patch set with some additions (the attribute
also handles __exit functions and the plugin does other things e.g., it can
identify candidate init/exit functions and move them automatically to init.text/exit.text).

-- 
Emese

  reply	other threads:[~2016-07-13 20:28 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-04 23:39 [PATCH v2 0/3] Introduce the initify gcc plugin Emese Revfy
2016-07-04 23:39 ` [kernel-hardening] " Emese Revfy
2016-07-04 23:40 ` [PATCH v2 1/3] Add " Emese Revfy
2016-07-04 23:40   ` [kernel-hardening] " Emese Revfy
2016-07-12 19:45   ` Kees Cook
2016-07-12 19:45     ` [kernel-hardening] " Kees Cook
2016-07-12 19:45     ` Kees Cook
2016-07-12 20:07     ` Emese Revfy
2016-07-12 20:07       ` [kernel-hardening] " Emese Revfy
2016-07-12 20:07       ` Emese Revfy
2016-07-12 20:05       ` Kees Cook
2016-07-12 20:05         ` [kernel-hardening] " Kees Cook
2016-07-12 20:05         ` Kees Cook
2016-07-13 20:34         ` Emese Revfy [this message]
2016-07-13 20:34           ` [kernel-hardening] " Emese Revfy
2016-07-13 20:34           ` Emese Revfy
2016-07-12 22:08     ` Russell King - ARM Linux
2016-07-12 22:08       ` [kernel-hardening] " Russell King - ARM Linux
2016-07-12 22:08       ` Russell King - ARM Linux
2016-07-12 22:38       ` Kees Cook
2016-07-12 22:38         ` [kernel-hardening] " Kees Cook
2016-07-12 22:38         ` Kees Cook
2016-07-13 21:26         ` Emese Revfy
2016-07-13 21:26           ` [kernel-hardening] " Emese Revfy
2016-07-13 21:26           ` Emese Revfy
2016-07-13 20:48     ` Emese Revfy
2016-07-13 20:48       ` [kernel-hardening] " Emese Revfy
2016-07-13 20:48       ` Emese Revfy
2016-07-13 21:04       ` Kees Cook
2016-07-13 21:04         ` [kernel-hardening] " Kees Cook
2016-07-13 21:04         ` Kees Cook
2016-07-04 23:42 ` [PATCH v2 2/3] Mark functions with the __nocapture attribute Emese Revfy
2016-07-04 23:42   ` [kernel-hardening] " Emese Revfy
2016-07-12 19:08   ` Kees Cook
2016-07-12 19:08     ` [kernel-hardening] " Kees Cook
2016-07-12 19:08     ` Kees Cook
2016-07-12 19:23     ` [kernel-hardening] " Daniel Micay
2016-07-12 19:47       ` Kees Cook
2016-07-12 19:47         ` Kees Cook
2016-07-04 23:43 ` [PATCH v2 3/3] Constify some function parameters Emese Revfy
2016-07-04 23:43   ` [kernel-hardening] " Emese Revfy
2016-07-04 23:58   ` kbuild test robot
2016-07-04 23:58     ` [kernel-hardening] " kbuild test robot
2016-07-06 16:45     ` Emese Revfy
2016-07-06 16:45       ` [kernel-hardening] " Emese Revfy
2016-07-06 16:44   ` Emese Revfy
2016-07-06 16:44     ` [kernel-hardening] " Emese Revfy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160713223408.8e52842ddda8818cec83d6a6@gmail.com \
    --to=re.emese@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=benh@kernel.crashing.org \
    --cc=catalin.marinas@arm.com \
    --cc=david.brown@linaro.org \
    --cc=isdn@linux-pingi.de \
    --cc=jlayton@poochiereds.net \
    --cc=keescook@chromium.org \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=linux@rasmusvillemoes.dk \
    --cc=minipli@ld-linux.so \
    --cc=mmarek@suse.com \
    --cc=pageexec@freemail.hu \
    --cc=sam@ravnborg.org \
    --cc=spender@grsecurity.net \
    --cc=tglx@linutronix.de \
    --cc=yamada.masahiro@socionext.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.