Fix #56068
octopus: segfault on FIPS enabled server executing s3 multipart upload
% Done:
0%
Source:
Support
Tags:
Backport:
Reviewed:
Affected Versions:
Description
[root@mkPT3620 /]# gdb /usr/bin/radosgw --core=/mnt/podman/core.radosgw.167.7247850e7b284590a79c26aa5d27867f.4054337.1652941532000000 (gdb) bt #0 0x00007f0f73228abf in raise () from /lib64/libpthread.so.0 #1 0x00007f0f7e74b473 in reraise_fatal (signum=11) at /usr/src/debug/ceph-16.2.0-152.el8cp.x86_64/src/global/signal_handler.cc:332 #2 handle_fatal_signal (signum=11) at /usr/src/debug/ceph-16.2.0-152.el8cp.x86_64/src/global/signal_handler.cc:332 #3 <signal handler called> #4 0x0000000000000000 in ?? () #5 0x00007f0f7e3b43b8 in RGWCompleteMultipart::execute (this=0x5646ba65c120, y=...) at /usr/src/debug/ceph-16.2.0-152.el8cp.x86_64/src/rgw/rgw_op.cc:6058 #6 0x00007f0f7e059830 in rgw_process_authenticated (handler=<optimized out>, op=@0x7f0f7ecbe910: 0x5646ba65c120, req=0x7f0f7ecbf620, s=0x7f0f7ecbeb20, y=..., skip_retarget=false) at /usr/src/debug/ceph-16.2.0-152.el8cp.x86_64/src/rgw/rgw_process.cc:167 #7 0x00007f0f7e05dcbd in process_request (store=0x5646b7b74a00, rest=0x7ffe396d7360, req=req@entry=0x7f0f7ecbf620, frontend_prefix=..., auth_registry=..., client_io=client_io@entry=0x7f0f7ecbf8a0, olog=0x0, yield=..., scheduler=0x5646b7e32278, user=0x7f0f7ecbfa00, latency=0x7f0f7ecbf5f8, http_ret=0x7f0f7ecbf5f4) at /usr/src/debug/ceph-16.2.0-152.el8cp.x86_64/src/rgw/rgw_process.cc:302 #8 0x00007f0f7dfaf55b in (anonymous namespace)::handle_connection<boost::beast::basic_stream<boost::asio::ip::tcp, boost::asio::executor, boost::beast::unlimited_rate_policy> > ( context=..., env=..., stream=..., buffer=..., pause_mutex=..., scheduler=<optimized out>, ec=..., yield=..., request_timeout=..., is_ssl=false) at /usr/include/c++/8/bits/shared_ptr_base.h:1018 #9 0x00007f0f7dfb0ff4 in (anonymous namespace)::AsioFrontend::<lambda(spawn::yield_context)>::operator() (yield=..., __closure=0x5646b914eea8) at /usr/include/c++/8/bits/unique_ptr.h:345 #10 spawn::detail::spawn_helper<boost::asio::executor_binder<void (*)(), boost::asio::strand<boost::asio::io_context::executor_type> >, (anonymous namespace)::AsioFrontend::accept((anonymous namespace)::AsioFrontend::Listener&, boost::system::error_code)::<lambda(spawn::yield_context)>, boost::context::basic_protected_fixedsize_stack<boost::context::stack_traits> >::<lambda(boost::context::continuation&&)>::operator()(boost::context::continuation &&) (c=..., this=<optimized out>) at /usr/src/debug/ceph-16.2.0-152.el8cp.x86_64/src/spawn/include/spawn/impl/spawn.hpp:390 #11 0x00007f0f7dfb125e in std::__invoke_impl<boost::context::continuation, spawn::detail::spawn_helper<Handler, Function, StackAllocator>::operator()() [with Handler = boost::asio::executor_binder<void (*)(), boost::asio::strand<boost::asio::io_context::executor_type> >; Function = (anonymous namespace)::AsioFrontend::accept((anonymous namespace)::AsioFrontend::Listener&, boost::system::error_code)::<lambda(spawn::yield_context)>; StackAllocator = boost::context::basic_protected_fixedsize_stack<boost::context::stack_traits>]::<lambda(boost::context::continuation&&)>&, boost::context::continuation> (__f=...) at /usr/include/c++/8/bits/invoke.h:89 #12 std::__invoke<spawn::detail::spawn_helper<Handler, Function, StackAllocator>::operator()() [with Handler = boost::asio::executor_binder<void (*)(), boost::asio::strand<boost::asio::io_context::executor_type> >; Function = (anonymous namespace)::AsioFrontend::accept((anonymous namespace)::AsioFrontend::Listener&, boost::system::error_code)::<lambda(spawn::yield_context)>; StackAllocator = boost::context::basic_protected_fixedsize_stack<boost::context::stack_traits>]::<lambda(boost::context::continuation&&)>&, boost::context::continuation> (__fn=...) at /usr/include/c++/8/bits/invoke.h:96 #13 std::invoke<spawn::detail::spawn_helper<Handler, Function, StackAllocator>::operator()() [with Handler = boost::asio::executor_binder<void (*)(), boost::asio::strand<boost::asio::io_context::executor_type> >; Function = (anonymous namespace)::AsioFrontend::accept((anonymous namespace)::AsioFrontend::Listener&, boost::system::error_code)::<lambda(spawn::yield_context)>; StackAllocator = boost::context::basic_protected_fixedsize_stack<boost::context::stack_traits>]::<lambda(boost::context::continuation&&)>&, boost::context::continuation> (__fn=...) at /usr/include/c++/8/functional:82 #14 boost::context::detail::record<boost::context::continuation, boost::context::basic_protected_fixedsize_stack<boost::context::stack_traits>, spawn::detail::spawn_helper<Handler, Function, StackAllocator>::operator()() [with Handler = boost::asio::executor_binder<void (*)(), boost::asio::strand<boost::asio::io_context::executor_type> >; Function = (anonymous namespace)::AsioFrontend::accept((anonymous namespace)::AsioFrontend::Listener&, boost::system::error_code)::<lambda(spawn::yield_context)>; StackAllocator = boost::context::basic_protected_fixedsize_stack<boost::context::stack_traits>]::<lambda(boost::context::continuation&&)> >::run (fctx=<optimized out>, this=<optimized out>) at /usr/src/debug/ceph-16.2.0-152.el8cp.x86_64/build/boost/include/boost/context/continuation_fcontext.hpp:146 #15 boost::context::detail::context_entry<boost::context::detail::record<boost::context::continuation, boost::context::basic_protected_fixedsize_stack<boost::context::stack_traits>, spawn::detail::spawn_helper<Handler, Function, StackAllocator>::operator()() [with Handler = boost::asio::executor_binder<void (*)(), boost::asio::strand<boost::asio::io_context::executor_type> >; Function = (anonymous namespace)::AsioFrontend::accept((anonymous namespace)::AsioFrontend::Listener&, boost::system::error_code)::<lambda(spawn::yield_context)>; StackAllocator = boost::context::basic_protected_fixedsize_stack<boost::context::stack_traits>]::<lambda(boost::context::continuation&&)> > >(boost::context::detail::transfer_t) (t=...) at /usr/src/debug/ceph-16.2.0-152.el8cp.x86_64/build/boost/include/boost/context/continuation_fcontext.hpp:80 #16 0x00007f0f7e74e89f in make_fcontext () from /lib64/libradosgw.so.2 #17 0x0000000000000000 in ?? () [root@mkPT3620 /]# vim /usr/src/debug/ceph-16.2.0-152.el8cp.x86_64/src/rgw/rgw_op.cc +6058 6056 hex_to_buf(obj_iter->second.etag.c_str(), petag, 6057 CEPH_CRYPTO_MD5_DIGESTSIZE); ^^^ ^^^ FIPS !!! ^^^ 6058 hash.Update((const unsigned char *)petag, sizeof(petag));
Related issues
History
#1 Updated by Mark Kogan almost 2 years ago
- Copied from Backport #53008: octopus: segfault on FIPS enabled server as result of EVP_md5 disabled in openssl added
#2 Updated by Mark Kogan almost 2 years ago
- Pull request ID set to 46701
#3 Updated by Yuri Weinstein almost 2 years ago
#4 Updated by Ilya Dryomov over 1 year ago
- Target version deleted (
v15.2.16)