Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 12 Jul 2016 16:05:45 -0400
From: Kees Cook <>
To: Emese Revfy <>
Cc: "" <>, PaX Team <>, 
	Brad Spengler <>, Michal Marek <>, 
	LKML <>, 
	Masahiro Yamada <>, linux-kbuild <>,, Russell King <>, 
	Catalin Marinas <>, Rasmus Villemoes <>, 
	David Brown <>, 
	"" <>, Thomas Gleixner <>, 
	Andrew Morton <>, Jeff Layton <>, 
	Arnd Bergmann <>, Sam Ravnborg <>, Karsten Keil <>
Subject: Re: [PATCH v2 1/3] Add the initify gcc plugin

On Tue, Jul 12, 2016 at 4:07 PM, Emese Revfy <> wrote:
> On Tue, 12 Jul 2016 15:45:56 -0400
> Kees Cook <> wrote:
>> On Mon, Jul 4, 2016 at 7:40 PM, Emese Revfy <> wrote:
>> 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.
> I'll send a new patch set soon. I'm working on some fixes and
> I would like to implement the handling of return uses to increase the coverage
> (which decreases because of the bug fixes :) ).
> So please hold off with testing until the next patch.

Okay, cool. I'll just do some simple tests with what I have so I can
feel like I understand its intended use, etc. :)

One change I made was to add this comment in compiler-gcc.h for people
that become curious about __nocapture and go looking for its
definition (please feel free to adjust for accuracy, etc):

 * 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.
# define __nocapture(...) __attribute__((nocapture(__VA_ARGS__)))


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.