]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: set dumpable flag after setuid post ff0e521 13657/head
authorBrad Hubbard <bhubbard@redhat.com>
Mon, 27 Feb 2017 03:06:59 +0000 (13:06 +1000)
committerBrad Hubbard <bhubbard@redhat.com>
Mon, 27 Feb 2017 06:08:41 +0000 (16:08 +1000)
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 <bhubbard@redhat.com>
src/rgw/rgw_main.cc

index 5bd734891597868aeb26fe7dc7ebc049148ec6ff..2a400ec4fb3093bda5098e0b661ef4fc1ac19bee 100644 (file)
 #include "include/types.h"
 #include "common/BackTrace.h"
 
+#ifdef HAVE_SYS_PRCTL_H
+#include <sys/prctl.h>
+#endif
+
 #define dout_subsys ceph_subsys_rgw
 
 using namespace std;
@@ -532,6 +536,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;