[PATCH] Fix wrong use-after-scope sanitization for omp variable (PR sanitizer/85081).

Jakub Jelinek jakub@redhat.com
Wed Mar 28 14:18:00 GMT 2018


On Wed, Mar 28, 2018 at 04:14:45PM +0200, Martin Liška wrote:
> Hi.
> 
> I'm sending Jakub's patch, where I removed the guard in asan_poison_variable.
> Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.
> 
> Martin
> 
> gcc/ChangeLog:
> 
> 2018-03-28  Jakub Jelinek  <jakub@redhat.com>
> 	    Martin Liska  <mliska@suse.cz>
> 
> 	PR sanitizer/85081
> 	* gimplify.c (asan_poison_variable): Don't do the check for
> 	gimplify_omp_ctxp here.
> 	(gimplify_decl_expr): Do it here.
> 	(gimplify_target_expr): Likewise.
> 
> gcc/testsuite/ChangeLog:
> 
> 2018-03-28  Jakub Jelinek  <jakub@redhat.com>
> 	    Martin Liska  <mliska@suse.cz>
> 
> 	PR sanitizer/85081
> 	* g++.dg/asan/pr85081.C: New test.

I guess it is ok for trunk for now, but for stage1 I'd like analysis on why
you've added that !gimplify_omp_ctxp stuff at all.  E.g. for local vars
inside of OpenMP/OpenACC constructs there should be no reason why they
couldn't be unpoisoned and poisoned inside of the OpenMP region.

	Jakub



More information about the Gcc-patches mailing list