1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-03 13:47:25 +03:00

ctdb-common: Move lockdown_memory to system utilities

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
This commit is contained in:
Amitay Isaacs 2014-06-10 17:04:34 +10:00 committed by Martin Schwenke
parent 8c8ef5640e
commit 507207e40b
2 changed files with 28 additions and 27 deletions

View File

@ -22,7 +22,6 @@
#include "system/network.h"
#include "system/filesys.h"
#include "system/wait.h"
#include "system/shmem.h"
#include "../include/ctdb_private.h"
/*
@ -404,32 +403,6 @@ unsigned ctdb_addr_to_port(ctdb_sock_addr *addr)
return 0;
}
/* we don't lock future pages here; it would increase the chance that
* we'd fail to mmap later on. */
void lockdown_memory(bool valgrinding)
{
#if defined(HAVE_MLOCKALL) && !defined(_AIX_)
/* Extra stack, please! */
char dummy[10000];
memset(dummy, 0, sizeof(dummy));
if (valgrinding) {
return;
}
/* Ignore when running in local daemons mode */
if (getuid() != 0) {
return;
}
/* Avoid compiler optimizing out dummy. */
mlock(dummy, sizeof(dummy));
if (mlockall(MCL_CURRENT) != 0) {
DEBUG(DEBUG_WARNING,("Failed to lockdown memory: %s'\n",
strerror(errno)));
}
#endif
}
const char *ctdb_eventscript_call_names[] = {
"init",

View File

@ -20,6 +20,7 @@
#include "includes.h"
#include "system/filesys.h"
#include "system/shmem.h"
#include <libgen.h>
@ -275,6 +276,33 @@ bool parse_ip_port(const char *addr, ctdb_sock_addr *saddr)
return ret;
}
/* we don't lock future pages here; it would increase the chance that
* we'd fail to mmap later on. */
void lockdown_memory(bool valgrinding)
{
#if defined(HAVE_MLOCKALL) && !defined(_AIX_)
/* Extra stack, please! */
char dummy[10000];
memset(dummy, 0, sizeof(dummy));
if (valgrinding) {
return;
}
/* Ignore when running in local daemons mode */
if (getuid() != 0) {
return;
}
/* Avoid compiler optimizing out dummy. */
mlock(dummy, sizeof(dummy));
if (mlockall(MCL_CURRENT) != 0) {
DEBUG(DEBUG_WARNING,("Failed to lockdown memory: %s'\n",
strerror(errno)));
}
#endif
}
int mkdir_p(const char *dir, int mode)
{
char t[PATH_MAX];