Skip to content

Commit d58f902

Browse files
committed
Fix locks in trackingOpenIpcHandle()
Signed-off-by: Lukasz Dorau <[email protected]>
1 parent d429dc4 commit d58f902

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/provider/provider_tracking.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1244,20 +1244,20 @@ static umf_result_t trackingOpenIpcHandle(void *provider, void *providerIpcData,
12441244

12451245
assert(cache_entry != NULL);
12461246

1247+
utils_mutex_lock(&(cache_entry->mmap_lock));
12471248
void *mapped_ptr = NULL;
12481249
utils_atomic_load_acquire_ptr(&(cache_entry->mapped_base_ptr),
12491250
(void **)&mapped_ptr);
12501251
if (mapped_ptr == NULL) { // new cache entry
1251-
utils_mutex_lock(&(cache_entry->mmap_lock));
12521252
utils_atomic_load_acquire_ptr(&(cache_entry->mapped_base_ptr),
12531253
(void **)&mapped_ptr);
12541254
if (mapped_ptr == NULL) {
12551255
ret = upstreamOpenIPCHandle(p, providerIpcData,
12561256
ipcUmfData->baseSize, cache_entry);
12571257
}
12581258
mapped_ptr = cache_entry->mapped_base_ptr;
1259-
utils_mutex_unlock(&(cache_entry->mmap_lock));
12601259
}
1260+
utils_mutex_unlock(&(cache_entry->mmap_lock));
12611261

12621262
if (ret == UMF_RESULT_SUCCESS) {
12631263
assert(mapped_ptr != NULL);

0 commit comments

Comments
 (0)