From: Casey Bodley Date: Tue, 9 Jul 2024 21:40:03 +0000 (-0400) Subject: rgw/datalog: fix LazyFIFO race fix X-Git-Tag: v20.0.0~1546^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F58491%2Fhead;p=ceph.git rgw/datalog: fix LazyFIFO race fix initialize `fifo_tmp` to prevent the race on member variable `fifo` that was identified in 8fa844383f9c22e758f39ecdda74f70de054ad68 Fixes: https://tracker.ceph.com/issues/66880 Signed-off-by: Casey Bodley --- diff --git a/src/rgw/driver/rados/rgw_log_backing.h b/src/rgw/driver/rados/rgw_log_backing.h index 6cda9a4ca978..737d6725eb43 100644 --- a/src/rgw/driver/rados/rgw_log_backing.h +++ b/src/rgw/driver/rados/rgw_log_backing.h @@ -269,7 +269,7 @@ class LazyFIFO { // FIFO supports multiple clients by design, so it's safe to // race to create them. std::unique_ptr fifo_tmp; - auto r = rgw::cls::fifo::FIFO::create(dpp, ioctx, oid, &fifo, y); + auto r = rgw::cls::fifo::FIFO::create(dpp, ioctx, oid, &fifo_tmp, y); if (r) { return r; }