From b4f1a63bfa047a8004a4b5cc9df71abc6933f8a1 Mon Sep 17 00:00:00 2001 From: benhanokh Date: Sun, 19 Jul 2026 10:26:47 +0300 Subject: [PATCH] rgw/dedup: protects handle_notify processing of URGENT_MSG_RESTART against bad messages Tracker: https://ibm-ceph.atlassian.net/browse/IBMCEPH-16929 Signed-off-by: benhanokh --- src/rgw/driver/rados/rgw_dedup.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/rgw/driver/rados/rgw_dedup.cc b/src/rgw/driver/rados/rgw_dedup.cc index d9551159a48..404fed1f1b4 100644 --- a/src/rgw/driver/rados/rgw_dedup.cc +++ b/src/rgw/driver/rados/rgw_dedup.cc @@ -3163,7 +3163,7 @@ namespace rgw::dedup { case URGENT_MSG_RESTART: if (!d_ctl.dedup_exec) { // Decode optional filter - { + try { bool has_filter = false; ceph::decode(has_filter, bl_iter); if (has_filter) { @@ -3173,7 +3173,12 @@ namespace rgw::dedup { else { d_filter = dedup_filter_t{}; } + } catch (buffer::error& err) { + ldpp_dout(dpp, 1) << __func__ << "::ERROR: bad URGENT_MSG_RESTART" << dendl; + cluster::ack_notify(store, dpp, &d_ctl, notify_id, cookie, -EINVAL); + return; } + d_ctl.remote_restart_req = true; d_cond.notify_all(); } -- 2.47.3