This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Do not sanitize in lower_omp_target context (PR, sanitizer/78815).


On Wed, Jan 04, 2017 at 10:19:28AM +0100, Martin Liška wrote:
> PING^1
> 
> On 12/16/2016 01:04 PM, Martin Liška wrote:
> > Currently, use-after-scope relies on fact that entry point of gimplify_decl_expr
> > is gimplify_function_tree. Fixed by checking if asan_poisoned_variables is non-null.
> > 
> > Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.
> > 
> > Ready to be installed?

Looking at asan_poisoned_variables, my preference would be to guard:
  asan_poisoned_variables = new hash_set<tree> ();
with
if (asan_sanitize_use_after_scope ()
    && !asan_no_sanitize_address_p ())
the delete asan_poisoned_variables; with if (asan_poisoned_variables)
and all the poisoning stuff in the gimplifier also with if
(asan_poisoned_variables) and no need to repeat there the asan_sanitize_use_after_scope
() and !asan_no_sanitize_address_p () tests.
      if (asan_poisoned_variables != NULL
          && asan_poisoned_variables->contains (t))
is already fine,
      if (asan_sanitize_use_after_scope ()
          && !asan_no_sanitize_address_p ()
          && !is_vla
          && TREE_ADDRESSABLE (decl)
          && !TREE_STATIC (decl)
          && !DECL_HAS_VALUE_EXPR_P (decl)
          && dbg_cnt (asan_use_after_scope))
should replace the first 2 conditions with asan_poisoned_variables,
          if (asan_sanitize_use_after_scope ()
              && asan_used_labels != NULL
              && asan_used_labels->contains (label))
            asan_poison_variables (asan_poisoned_variables, false, pre_p);
should replace asan_sanitize_use_after_scope () with
asan_poisoned_variables.  IMHO no need to add comments, especially not one
mentioning omp lowering - the gimplifier is called from lots of various
places.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]