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.