From: Brad Hubbard Date: Mon, 27 Feb 2017 03:06:59 +0000 (+1000) Subject: rgw: set dumpable flag after setuid post ff0e521 X-Git-Tag: v10.2.7~14^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d333addb71a0a92fbac5a7b922dbd69fc9e0604e;p=ceph.git rgw: set dumpable flag after setuid post ff0e521 ff0e521 resolved the issue for the other daemons but not for rgw since it calls setuid (via civetweb) after the new code sets PR_SET_DUMPABLE. Add another prctl call before wait_shutdown. Fixes: http://tracker.ceph.com/issues/19089 Signed-off-by: Brad Hubbard (cherry picked from commit bc458d39630b599e0e1ca9fe25ad7455fcffdd10) --- diff --git a/src/rgw/rgw_main.cc b/src/rgw/rgw_main.cc index d03fd251f8fe..18d09d5a5d9f 100644 --- a/src/rgw/rgw_main.cc +++ b/src/rgw/rgw_main.cc @@ -62,6 +62,10 @@ #include "include/types.h" #include "common/BackTrace.h" +#ifdef HAVE_SYS_PRCTL_H +#include +#endif + #define dout_subsys ceph_subsys_rgw using namespace std; @@ -480,6 +484,12 @@ int main(int argc, const char **argv) realm_watcher.add_watcher(RGWRealmNotify::Reload, reloader); realm_watcher.add_watcher(RGWRealmNotify::ZonesNeedPeriod, pusher); +#if defined(HAVE_SYS_PRCTL_H) + if (prctl(PR_SET_DUMPABLE, 1) == -1) { + cerr << "warning: unable to set dumpable flag: " << cpp_strerror(errno) << std::endl; + } +#endif + wait_shutdown(); derr << "shutting down" << dendl;