Tom Stellard 37c72127e9 Merging r317115:
------------------------------------------------------------------------
r317115 | jlpeyton | 2017-11-01 12:44:42 -0700 (Wed, 01 Nov 2017) | 19 lines

[OpenMP] Fix race condition in omp_init_lock

This is a partial fix for bug 34050.

This prevents callers of omp_set_lock (which does not hold __kmp_global_lock)
from ever seeing an uninitialized version of __kmp_i_lock_table.table.

It does not solve a use-after-free race condition if omp_set_lock obtains a
pointer to __kmp_i_lock_table.table before it is updated and then attempts to
dereference afterwards. That race is far less likely and can be handled in a
separate patch.

The unit test usually segfaults on the current trunk revision. It passes with
the patch.

Patch by Adam Azarchs

Differential Revision: https://reviews.llvm.org/D39439

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/openmp/branches/release_50@318178 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-14 19:21:30 +00:00
2017-11-14 19:21:30 +00:00
2017-07-08 16:09:47 +00:00
2017-07-26 15:47:03 +00:00
2016-05-23 18:01:19 +00:00
S
Description
No description provided
11 MiB
Languages
C++ 68.3%
C 19%
Perl 3.8%
Cuda 3.2%
CMake 3.1%
Other 2.5%