From 56210d3acaa563c81847a529511245f177e24ebf Mon Sep 17 00:00:00 2001 From: Wanglei Shen Date: Mon, 23 Dec 2024 19:12:34 +0800 Subject: [PATCH] fix coverity scan issue 1568450 (#28139) ### Details: - *fix below coverity scan issue* *** CID 1568450: Concurrent data access violations (MISSING_LOCK) /openvino/src/inference/src/os/lin/lin_system_conf.cpp: 225 in ov::CPU::CPU()::[lambda() (instance 2)]::operator ()() const() 219 return -1; 220 } else if (valid_cpu_mapping_table.size() == (unsigned)_processors) { 221 return 0; 222 } else { 223 _processors = valid_cpu_mapping_table.size(); 224 _cpu_mapping_table.swap(valid_cpu_mapping_table); >>> CID 1568450: Concurrent data access violations (MISSING_LOCK) >>> Accessing "this->this->_proc_type_table" without holding lock "ov::CPU._cpu_mutex". Elsewhere, "ov::CPU._proc_type_table" is written to with "CPU._cpu_mutex" held 2 out of 3 times. 225 update_valid_processor_linux(std::move(phy_core_list), 226 _numa_nodes, 227 _cores, 228 _proc_type_table, 229 _cpu_mapping_table); 230 return 0; ### Tickets: - *CID 1568450* --- src/inference/src/os/lin/lin_system_conf.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/inference/src/os/lin/lin_system_conf.cpp b/src/inference/src/os/lin/lin_system_conf.cpp index f8bd16173b8fce..9b6247c6691814 100644 --- a/src/inference/src/os/lin/lin_system_conf.cpp +++ b/src/inference/src/os/lin/lin_system_conf.cpp @@ -188,6 +188,7 @@ CPU::CPU() { } else if (valid_cpu_mapping_table.size() == (unsigned)_processors) { return 0; } else { + std::lock_guard lock{_cpu_mutex}; _processors = valid_cpu_mapping_table.size(); _cpu_mapping_table.swap(valid_cpu_mapping_table); update_valid_processor_linux(std::move(phy_core_list),