From 1e2b08c8cc201e8fd6b6057871f67feb6651de62 Mon Sep 17 00:00:00 2001 From: Vedansh Bhartia Date: Wed, 5 Jul 2023 21:09:16 +0530 Subject: [PATCH] rgw: Add coverity annotations for missing mutex locks Signed-off-by: Vedansh Bhartia --- src/rgw/driver/rados/rgw_d3n_datacache.cc | 1 + src/rgw/driver/rados/rgw_rados.cc | 2 ++ src/rgw/rgw_file_int.h | 1 + src/rgw/rgw_http_client.cc | 3 +++ 4 files changed, 7 insertions(+) diff --git a/src/rgw/driver/rados/rgw_d3n_datacache.cc b/src/rgw/driver/rados/rgw_d3n_datacache.cc index 116a81301081c..e07b5f4bd6bf5 100644 --- a/src/rgw/driver/rados/rgw_d3n_datacache.cc +++ b/src/rgw/driver/rados/rgw_d3n_datacache.cc @@ -65,6 +65,7 @@ D3nDataCache::D3nDataCache() void D3nDataCache::init(CephContext *_cct) { cct = _cct; + // coverity[missing_lock:SUPPRESS] free_data_cache_size = cct->_conf->rgw_d3n_l1_datacache_size; head = nullptr; tail = nullptr; diff --git a/src/rgw/driver/rados/rgw_rados.cc b/src/rgw/driver/rados/rgw_rados.cc index 369011c746440..8814c5a1fbac9 100644 --- a/src/rgw/driver/rados/rgw_rados.cc +++ b/src/rgw/driver/rados/rgw_rados.cc @@ -1038,6 +1038,8 @@ void RGWRados::finalize() } } if (run_sync_thread) { + // https://github.com/ceph/ceph/commit/9106e8ad3121a503bf49a7334367849756bd1291 + // coverity[missing_lock:SUPPRESS] delete meta_sync_processor_thread; meta_sync_processor_thread = NULL; std::lock_guard dl{data_sync_thread_lock}; diff --git a/src/rgw/rgw_file_int.h b/src/rgw/rgw_file_int.h index c695aba46cbf1..6ecd4b2447da7 100644 --- a/src/rgw/rgw_file_int.h +++ b/src/rgw/rgw_file_int.h @@ -226,6 +226,7 @@ namespace rgw { ~file(); }; + // coverity[missing_lock:SUPPRESS] struct directory { static constexpr uint32_t FLAG_NONE = 0x0000; diff --git a/src/rgw/rgw_http_client.cc b/src/rgw/rgw_http_client.cc index 6d587be01fe75..aacc3f40b82cf 100644 --- a/src/rgw/rgw_http_client.cc +++ b/src/rgw/rgw_http_client.cc @@ -1017,7 +1017,10 @@ int RGWHTTPManager::set_request_state(RGWHTTPClient *client, RGWHTTPRequestSetSt return 0; } + // mutex already locked + // coverity[missing_lock:SUPPRESS] req_data->write_paused = suggested_wr_paused; + // coverity[missing_lock:SUPPRESS] req_data->read_paused = suggested_rd_paused; int bitmask = CURLPAUSE_CONT; -- 2.39.5