Actions
Bug #72476
openMDSMap::set_min_compat_client array out bounds access
Status:
Pending Backport
Priority:
Normal
Assignee:
Category:
Correctness/Safety
Target version:
% Done:
0%
Source:
Development
Backport:
tentacle
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
Labels (FS):
Pull request ID:
Tags (freeform):
backport_processed
Merge Commit:
Fixed In:
v20.3.0-2891-g1dffd4f6ab
Released In:
Upkeep Timestamp:
2025-09-09T06:41:49+00:00
Description
/usr/lib64/ccache/c++ -DBOOST_ASIO_DISABLE_AWAITABLE_FRAME_RECYCLING -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DBOOST_ASIO_HAS_IO_URING -DBOOST_ASIO_NO_TS_EXECUTORS -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ -I/auto/home/rodried/git/ceph/ceph-werror/cmake-build-relwithdebinfo/src/include -I/auto/home/rodried/git/ceph/ceph-werror/src -I/auto/home/rodried/git/ceph/ceph-werror/cmake-build-relwithdebinfo/src -isystem /auto/home/rodried/git/ceph/ceph-werror/cmake-build-relwithdebinfo/boost/include -isystem /auto/home/rodried/git/ceph/ceph-werror/cmake-build-relwithdebinfo/include -isystem /auto/home/rodried/git/ceph/ceph-werror/src/jaegertracing/opentelemetry-cpp/api/include -isystem /auto/home/rodried/git/ceph/ceph-werror/src/jaegertracing/opentelemetry-cpp/exporters/jaeger/include -isystem /auto/home/rodried/git/ceph/ceph-werror/src/jaegertracing/opentelemetry-cpp/ext/include -isystem /auto/home/rodried/git/ceph/ceph-werror/src/jaegertracing/opentelemetry-cpp/sdk/include -isystem /auto/home/rodried/git/ceph/ceph-werror/src/xxHash -isystem /auto/home/rodried/git/ceph/ceph-werror/src/fmt/include -O2 -g -DNDEBUG -std=c++23 -fPIC -fdiagnostics-color=always -U_FORTIFY_SOURCE -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -Wall -fno-strict-aliasing -fsigned-char -Wtype-limits -Wignored-qualifiers -Wpointer-arith -Werror=format-security -Winit-self -Wno-unknown-pragmas -Wnon-virtual-dtor -Wno-ignored-qualifiers -Werror -ftemplate-depth-1024 -DBOOST_ALLOW_DEPRECATED_HEADERS -Wpessimizing-move -Wredundant-move -Wstrict-null-sentinel -Woverloaded-virtual -fstack-protector-strong -fdiagnostics-color=auto -MD -MT src/CMakeFiles/common-objs.dir/mds/MDSMap.cc.o -MF src/CMakeFiles/common-objs.dir/mds/MDSMap.cc.o.d -o src/CMakeFiles/common-objs.dir/mds/MDSMap.cc.o -c /auto/home/rodried/git/ceph/ceph-werror/src/mds/MDSMap.cc
In file included from /usr/include/c++/14/algorithm:60,
from /auto/home/rodried/git/ceph/ceph-werror/src/mds/MDSMap.h:18,
from /auto/home/rodried/git/ceph/ceph-werror/src/mds/MDSMap.cc:15:
In static member function ‘static constexpr _Up* std::__copy_move_backward<_IsMove, true, std::random_access_iterator_tag>::__copy_move_b(_Tp*, _Tp*, _Up*) [with _Tp = long unsigned int; _Up = long unsigned int; bool _IsMove = true]’,
inlined from ‘constexpr _BI2 std::__copy_move_backward_a2(_BI1, _BI1, _BI2) [with bool _IsMove = true; _BI1 = long unsigned int*; _BI2 = long unsigned int*]’ at /usr/include/c++/14/bits/stl_algobase.h:787:37,
inlined from ‘constexpr _BI2 std::__copy_move_backward_a1(_BI1, _BI1, _BI2) [with bool _IsMove = true; _BI1 = long unsigned int*; _BI2 = long unsigned int*]’ at /usr/include/c++/14/bits/stl_algobase.h:796:51,
inlined from ‘constexpr _OI std::__copy_move_backward_a(_II, _II, _OI) [with bool _IsMove = true; _II = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >; _OI = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >]’ at /usr/include/c++/14/bits/stl_algobase.h:825:31,
inlined from ‘constexpr _BI2 std::move_backward(_BI1, _BI1, _BI2) [with _BI1 = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >; _BI2 = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >]’ at /usr/include/c++/14/bits/stl_algobase.h:922:47,
inlined from ‘constexpr void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ at /usr/include/c++/14/bits/stl_algo.h:1781:8,
inlined from ‘constexpr void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ at /usr/include/c++/14/bits/stl_algo.h:1817:25,
inlined from ‘constexpr void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ at /usr/include/c++/14/bits/stl_algo.h:1908:31,
inlined from ‘constexpr void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >]’ at /usr/include/c++/14/bits/stl_algo.h:4771:18,
inlined from ‘void MDSMap::set_min_compat_client(ceph_release_t)’ at /auto/home/rodried/git/ceph/ceph-werror/src/mds/MDSMap.cc:1334:12:
/usr/include/c++/14/bits/stl_algobase.h:766:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 8 is out of the bounds [0, 8] [-Werror=array-bounds=]
766 | __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static constexpr _Up* std::__copy_move_backward<_IsMove, true, std::random_access_iterator_tag>::__copy_move_b(_Tp*, _Tp*, _Up*) [with _Tp = long unsigned int; _Up = long unsigned int; bool _IsMove = true]’,
inlined from ‘constexpr _BI2 std::__copy_move_backward_a2(_BI1, _BI1, _BI2) [with bool _IsMove = true; _BI1 = long unsigned int*; _BI2 = long unsigned int*]’ at /usr/include/c++/14/bits/stl_algobase.h:787:37,
inlined from ‘constexpr _BI2 std::__copy_move_backward_a1(_BI1, _BI1, _BI2) [with bool _IsMove = true; _BI1 = long unsigned int*; _BI2 = long unsigned int*]’ at /usr/include/c++/14/bits/stl_algobase.h:796:51,
inlined from ‘constexpr _OI std::__copy_move_backward_a(_II, _II, _OI) [with bool _IsMove = true; _II = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >; _OI = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >]’ at /usr/include/c++/14/bits/stl_algobase.h:825:31,
inlined from ‘constexpr _BI2 std::move_backward(_BI1, _BI1, _BI2) [with _BI1 = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >; _BI2 = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >]’ at /usr/include/c++/14/bits/stl_algobase.h:922:47,
inlined from ‘constexpr void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ at /usr/include/c++/14/bits/stl_algo.h:1781:8,
inlined from ‘constexpr void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ at /usr/include/c++/14/bits/stl_algo.h:1822:23,
inlined from ‘constexpr void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >; _Compare = __gnu_cxx::__ops::_Iter_less_iter]’ at /usr/include/c++/14/bits/stl_algo.h:1908:31,
inlined from ‘constexpr void std::sort(_RAIter, _RAIter) [with _RAIter = __gnu_cxx::__normal_iterator<long unsigned int*, vector<long unsigned int> >]’ at /usr/include/c++/14/bits/stl_algo.h:4771:18,
inlined from ‘void MDSMap::set_min_compat_client(ceph_release_t)’ at /auto/home/rodried/git/ceph/ceph-werror/src/mds/MDSMap.cc:1334:12:
/usr/include/c++/14/bits/stl_algobase.h:766:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 8 is out of the bounds [0, 8] [-Werror=array-bounds=]
766 | __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
Updated by Venky Shankar 7 months ago
- Project changed from Ceph to CephFS
- Category set to Correctness/Safety
- Status changed from New to Fix Under Review
- Target version set to v21.0.0
- Source set to Development
- Backport set to tentacle
- Pull request ID set to 64967
Updated by Upkeep Bot 6 months ago
- Status changed from Fix Under Review to Pending Backport
- Merge Commit set to 1dffd4f6ab65c9d5d75d28a648d61f5456a5f501
- Fixed In set to v20.3.0-2891-g1dffd4f6ab
- Upkeep Timestamp set to 2025-09-09T06:41:49+00:00
Updated by Upkeep Bot 6 months ago
- Copied to Backport #72924: tentacle: MDSMap::set_min_compat_client array out bounds access added
Actions