Re: [PATCH v2 1/3] Add the initify gcc plugin

Emese Revfy
2016-07-13T20:42:40Z

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

> On Mon, Jul 4, 2016 at 7:40 PM, Emese Revfy <re.emese@gmail.com> wrote:
> > 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?

I don't modify the existing attributes. I just add a new __init/__exit when
a function hasn't a section attribute yet.
There are three cases:
* when the function is called only by __init functions then the plugin adds
the __init attribute
* when the function is called only by __exit functions then the plugin adds
the __exit attribute
* when the function is called by __init and __exit functions too then the
plugin adds the __exit attribute.
The last case causes the false positive(?) message of the section mismatch.

--
Emese