]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
rgw/http: use a dedicated mutex for reqs_change_state 69051/head
authorMatthew N. Heler <matthew.heler@hotmail.com>
Mon, 4 May 2026 15:54:13 +0000 (10:54 -0500)
committerMatthew N. Heler <matthew.heler@hotmail.com>
Wed, 27 May 2026 23:34:43 +0000 (18:34 -0500)
commit3c309d9a3212ffaeced181c742292d4cb066926d
treed458ad7c778e7bf52f786f3bfc55bfcb8ec6241c
parent30a1b94abe827ecbbd05c76d130b73a36f212919
rgw/http: use a dedicated mutex for reqs_change_state

set_request_state() pushed into reqs_change_state without holding
any lock. Concurrent callers and manage_pending_requests raced on
the list and corrupted node links, crashing in std::list::_M_hook.

Use a dedicated mutex; reusing reqs_lock would invert the
completion path's reqs_lock -> req_data->lock order against the
set_request_state callers, which already hold req_data->lock.

Signed-off-by: Matthew N. Heler <matthew.heler@hotmail.com>
src/rgw/rgw_http_client.cc
src/rgw/rgw_http_client.h