Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1543815

Re: [PATCH v4 1/4] gcc-plugins: Add the initify gcc plugin

From "PaX Team" <pageexec@freemail.hu>
Newsgroups linux.kernel
Subject Re: [PATCH v4 1/4] gcc-plugins: Add the initify gcc plugin
Date 2016-12-16 23:50 +0100
Message-ID <sP9u9-1bb-7@gated-at.bofh.it> (permalink)
References <sP9u9-1bb-9@gated-at.bofh.it> <sP918-11E-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 16 Dec 2016 at 14:06, Kees Cook wrote:

> diff --git a/scripts/gcc-plugins/gcc-common.h b/scripts/gcc-plugins/gcc-common.h
> index 950fd2e64bb7..369bfb471e58 100644
> --- a/scripts/gcc-plugins/gcc-common.h
> +++ b/scripts/gcc-plugins/gcc-common.h
> @@ -287,6 +287,26 @@ static inline struct cgraph_node *cgraph_next_function_with_gimple_body(struct c
>   return NULL;
>  }
> 
> +static inline bool cgraph_for_node_and_aliases(cgraph_node_ptr node,
> +				bool (*callback)(cgraph_node_ptr, void *),
> +				void *data, bool include_overwritable)
> +{
> +	cgraph_node_ptr alias;
> +
> +	if (callback(node, data))
> +		return true;
> +
> +	for (alias = node->same_body; alias; alias = alias->next) {
> +		if (include_overwritable ||
> +			cgraph_function_body_availability(alias) > AVAIL_OVERWRITABLE)
> +			if (cgraph_for_node_and_aliases(alias, callback, data,
> +							include_overwritable))
> +				return true;
> +	}
> +
> +	return false;
> +}
> +
>  #define FOR_EACH_FUNCTION_WITH_GIMPLE_BODY(node) \
>   for ((node) = cgraph_first_function_with_gimple_body(); (node); \
>    (node) = cgraph_next_function_with_gimple_body(node))

this hunk above and...

> @@ -674,6 +707,14 @@ static inline cgraph_node_ptr cgraph_alias_target(cgraph_node_ptr node)
>   return node->get_alias_target();
>  }
> 
> +static inline bool cgraph_for_node_and_aliases(cgraph_node_ptr node,
> +				bool (*callback)(cgraph_node_ptr, void *),
> +				void *data, bool include_overwritable)
> +{
> +	return node->call_for_symbol_thunks_and_aliases(callback, data,
> +							include_overwritable);
> +}
> +
>  static inline struct cgraph_node_hook_list *cgraph_add_function_insertion_hook(cgraph_node_hook hook, void *data)
>  {
>   return symtab->add_cgraph_insertion_hook(hook, data);

...this one aren't needed by any plugins upstream so maybe introduce them when
the needed arises? and the whole patch against gcc-common.h would also conflict
with the version i maintain and that you said you'd sync to so there's a decision
to be made regarding how this will is to be maintained...

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Re: [PATCH v4 1/4] gcc-plugins: Add the initify gcc plugin "PaX Team" <pageexec@freemail.hu> - 2016-12-16 23:50 +0100
  Re: [PATCH v4 1/4] gcc-plugins: Add the initify gcc plugin Kees Cook <keescook@chromium.org> - 2016-12-17 00:10 +0100
    Re: [PATCH v4 1/4] gcc-plugins: Add the initify gcc plugin "PaX Team" <pageexec@freemail.hu> - 2016-12-17 00:20 +0100

csiph-web