https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119541

            Bug ID: 119541
           Summary: [15 Regression] asan: dynamic-stack-buffer-overflow in
                    modify_call_for_omp_dispatch at gimplify.cc:3976
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Keywords: openmp
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pheeck at gcc dot gnu.org
                CC: sandra at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu

If you compile the c-c++-common/gomp/dispatch-11.c gcc testsuite testcase using
-fopenmp with an AddressSanitizer-instrumented gcc, you get this:

==2494359==ERROR: AddressSanitizer: dynamic-stack-buffer-overflow on address
0x7fff36429498 at pc 0x000001a8feac bp 0x7fff36429440 sp 0x7fff36429438
WRITE of size 8 at 0x7fff36429498 thread T0
    #0 0x000001a8feab in modify_call_for_omp_dispatch
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:3976
    #1 0x000001b0371c in expand_variant_call_expr
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:4400
    #2 0x000001b0371c in gimplify_variant_call_expr
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:4502
    #3 0x000001b0371c in gimplify_call_expr
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:4707
    #4 0x000001ab13d5 in gimplify_expr(tree_node**, gimple**, gimple**, bool
(*)(tree_node*), int)
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:19439
    #5 0x000001aba9dd in gimplify_stmt(tree_node**, gimple**)
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:8436
    #6 0x000001abaaa8 in gimplify_and_add(tree_node*, gimple**)
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:547
    #7 0x000001afded9 in gimplify_omp_dispatch
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:18928
    #8 0x000001ab005a in gimplify_expr(tree_node**, gimple**, gimple**, bool
(*)(tree_node*), int)
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:20142
    #9 0x000001aba9dd in gimplify_stmt(tree_node**, gimple**)
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:8436
    #10 0x000001aaff7b in gimplify_statement_list
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:2285
    #11 0x000001aaff7b in gimplify_expr(tree_node**, gimple**, gimple**, bool
(*)(tree_node*), int)
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:19921
    #12 0x000001aba9dd in gimplify_stmt(tree_node**, gimple**)
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:8436
    #13 0x000001abbec3 in gimplify_bind_expr
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:1680
    #14 0x000001ab1031 in gimplify_expr(tree_node**, gimple**, gimple**, bool
(*)(tree_node*), int)
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:19671
    #15 0x000001aba9dd in gimplify_stmt(tree_node**, gimple**)
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:8436
    #16 0x000001ac039c in gimplify_body(tree_node*, bool)
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:20773
    #17 0x000001ac100b in gimplify_function_tree(tree_node*)
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:20982
    #18 0x00000148939f in cgraph_node::analyze()
/home/worker/buildworker/tiber-gcc-asan/build/gcc/cgraphunit.cc:689
    #19 0x000001490f01 in analyze_functions
/home/worker/buildworker/tiber-gcc-asan/build/gcc/cgraphunit.cc:1265
    #20 0x000001494100 in symbol_table::finalize_compilation_unit()
/home/worker/buildworker/tiber-gcc-asan/build/gcc/cgraphunit.cc:2574
    #21 0x000002594901 in compile_file
/home/worker/buildworker/tiber-gcc-asan/build/gcc/toplev.cc:479
    #22 0x00000084daca in do_compile
/home/worker/buildworker/tiber-gcc-asan/build/gcc/toplev.cc:2208
    #23 0x00000084daca in toplev::main(int, char**)
/home/worker/buildworker/tiber-gcc-asan/build/gcc/toplev.cc:2371
    #24 0x00000085907d in main
/home/worker/buildworker/tiber-gcc-asan/build/gcc/main.cc:39
    #25 0x7f198922b12d in __libc_start_call_main (/lib64/libc.so.6+0x2b12d)
(BuildId: 4e306825df357f9b661479a3f9d24a8dbf960c1f)
    #26 0x7f198922b1f8 in __libc_start_main_impl (/lib64/libc.so.6+0x2b1f8)
(BuildId: 4e306825df357f9b661479a3f9d24a8dbf960c1f)
    #27 0x00000085ab74 in _start ../sysdeps/x86_64/start.S:115

Address 0x7fff36429498 is located in stack of thread T0
SUMMARY: AddressSanitizer: dynamic-stack-buffer-overflow
/home/worker/buildworker/tiber-gcc-asan/build/gcc/gimplify.cc:3976 in
modify_call_for_omp_dispatch
Shadow bytes around the buggy address:
  0x7fff36429200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x7fff36429280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x7fff36429300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x7fff36429380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x7fff36429400: 00 00 00 00 00 00 00 00 00 00 00 00 ca ca ca ca
=>0x7fff36429480: 00 00 00[cb]cb cb cb cb 00 00 00 00 00 00 00 00
  0x7fff36429500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x7fff36429580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x7fff36429600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x7fff36429680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x7fff36429700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==2494359==ABORTING

According to git blame, Sandra recently did some work around gimplify.cc:3976,
so Cc-ing her.

Reply via email to