[llvm-branch-commits] [openmp] edbcc17 - [OpenMP] libomp: properly initialize buckets in __kmp_dephash_extend
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Jan 22 09:35:37 PST 2021
Author: Joseph Schuchart
Date: 2021-01-22T20:29:46+03:00
New Revision: edbcc17b7a0b5a4f20ec55983e172d0120ccbca9
URL: https://github.com/llvm/llvm-project/commit/edbcc17b7a0b5a4f20ec55983e172d0120ccbca9
DIFF: https://github.com/llvm/llvm-project/commit/edbcc17b7a0b5a4f20ec55983e172d0120ccbca9.diff
LOG: [OpenMP] libomp: properly initialize buckets in __kmp_dephash_extend
The buckets are initialized in __kmp_dephash_create but when they are extended
the memory is allocated but not NULL'd, potentially leaving some buckets
uninitialized after all entries have been copied into the new allocation.
This commit makes sure the buckets are properly initialized with NULL before
copying the entries.
Differential Revision: https://reviews.llvm.org/D95167
Added:
Modified:
openmp/runtime/src/kmp_taskdeps.cpp
Removed:
################################################################################
diff --git a/openmp/runtime/src/kmp_taskdeps.cpp b/openmp/runtime/src/kmp_taskdeps.cpp
index 7a804d1171db..f580431d0182 100644
--- a/openmp/runtime/src/kmp_taskdeps.cpp
+++ b/openmp/runtime/src/kmp_taskdeps.cpp
@@ -86,6 +86,12 @@ static kmp_dephash_t *__kmp_dephash_extend(kmp_info_t *thread,
h->buckets = (kmp_dephash_entry **)(h + 1);
h->generation = gen;
h->nconflicts = 0;
+
+ // make sure buckets are properly initialized
+ for (size_t i = 0; i < new_size; i++) {
+ h->buckets[i] = NULL;
+ }
+
// insert existing elements in the new table
for (size_t i = 0; i < current_dephash->size; i++) {
kmp_dephash_entry_t *next, *entry;
More information about the llvm-branch-commits
mailing list