[Openmp-commits] [openmp] r343785 - [OpenMP][OMPT] Fix unsafe initialization of ompt_data_t objects
Jonathan Peyton via Openmp-commits
openmp-commits at lists.llvm.org
Thu Oct 4 07:57:04 PDT 2018
Author: jlpeyton
Date: Thu Oct 4 07:57:04 2018
New Revision: 343785
URL: http://llvm.org/viewvc/llvm-project?rev=343785&view=rev
Log:
[OpenMP][OMPT] Fix unsafe initialization of ompt_data_t objects
Initializing an ompt_data_t object using the pointer union member is potentially
unsafe in 32-bit programs. This change fixes the issue
by using the constant, ompt_data_none.
Patch by Hansang Bae
Differential Revision: https://reviews.llvm.org/D52046
Modified:
openmp/trunk/runtime/src/kmp_runtime.cpp
Modified: openmp/trunk/runtime/src/kmp_runtime.cpp
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/src/kmp_runtime.cpp?rev=343785&r1=343784&r2=343785&view=diff
==============================================================================
--- openmp/trunk/runtime/src/kmp_runtime.cpp (original)
+++ openmp/trunk/runtime/src/kmp_runtime.cpp Thu Oct 4 07:57:04 2018
@@ -1209,8 +1209,7 @@ void __kmp_serialized_parallel(ident_t *
#endif /* OMP_40_ENABLED */
#if OMPT_SUPPORT
- ompt_data_t ompt_parallel_data;
- ompt_parallel_data.ptr = NULL;
+ ompt_data_t ompt_parallel_data = ompt_data_none;
ompt_data_t *implicit_task_data;
void *codeptr = OMPT_LOAD_RETURN_ADDRESS(global_tid);
if (ompt_enabled.enabled &&
@@ -1477,8 +1476,7 @@ int __kmp_fork_call(ident_t *loc, int gt
master_set_numthreads = master_th->th.th_set_nproc;
#if OMPT_SUPPORT
- ompt_data_t ompt_parallel_data;
- ompt_parallel_data.ptr = NULL;
+ ompt_data_t ompt_parallel_data = ompt_data_none;
ompt_data_t *parent_task_data;
omp_frame_t *ompt_frame;
ompt_data_t *implicit_task_data;
@@ -3726,7 +3724,7 @@ int __kmp_register_root(int initial_thre
}
root_thread->th.th_info.ds.ds_gtid = gtid;
#if OMPT_SUPPORT
- root_thread->th.ompt_thread_info.thread_data.ptr = NULL;
+ root_thread->th.ompt_thread_info.thread_data = ompt_data_none;
#endif
root_thread->th.th_root = root;
if (__kmp_env_consistency_check) {
@@ -5601,7 +5599,7 @@ void *__kmp_launch_thread(kmp_info_t *th
ompt_data_t *thread_data;
if (ompt_enabled.enabled) {
thread_data = &(this_thr->th.ompt_thread_info.thread_data);
- thread_data->ptr = NULL;
+ *thread_data = ompt_data_none;
this_thr->th.ompt_thread_info.state = omp_state_overhead;
this_thr->th.ompt_thread_info.wait_id = 0;
More information about the Openmp-commits
mailing list