From a08855f30bb24990b17266333d3828dea10bdc87 Mon Sep 17 00:00:00 2001 From: Edwin Rodriguez Date: Thu, 7 Aug 2025 14:27:18 -0400 Subject: [PATCH] mds/MDSMap: Enhance set_min_compat_client to validate iterator range before sorting feature bits Fixes: https://tracker.ceph.com/issues/72476 Signed-off-by: Edwin Rodriguez --- src/mds/MDSMap.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/mds/MDSMap.cc b/src/mds/MDSMap.cc index 59f9c5a4da0..f7cec0e1a7b 100644 --- a/src/mds/MDSMap.cc +++ b/src/mds/MDSMap.cc @@ -1331,7 +1331,14 @@ void MDSMap::set_min_compat_client(ceph_release_t version) else if (version >= ceph_release_t::jewel) bits.push_back(CEPHFS_FEATURE_JEWEL); - std::sort(bits.begin(), bits.end()); + if (bits.size() >= 2) { // Need at least 2 elements to sort + auto first = bits.begin(); + auto last = bits.end(); + if (first < last) { // Validate iterator range + std::sort(first, last); + } + } + required_client_features = feature_bitset_t(bits); } -- 2.39.5