aboutsummaryrefslogtreecommitdiff
path: root/crypto/openssh/openbsd-compat/port-linux.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssh/openbsd-compat/port-linux.c')
-rw-r--r--crypto/openssh/openbsd-compat/port-linux.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/crypto/openssh/openbsd-compat/port-linux.c b/crypto/openssh/openbsd-compat/port-linux.c
index 8adfec5a7a83..c1d54f38d656 100644
--- a/crypto/openssh/openbsd-compat/port-linux.c
+++ b/crypto/openssh/openbsd-compat/port-linux.c
@@ -319,6 +319,19 @@ oom_adjust_restore(void)
}
#endif /* LINUX_OOM_ADJUST */
+#ifdef LINUX_MEMLOCK_ONFAULT
+#include <sys/mman.h>
+
+void
+memlock_onfault_setup(void)
+{
+ if (mlockall(MCL_CURRENT | MCL_FUTURE | MCL_ONFAULT) < 0)
+ verbose("unable to lock memory: %s", strerror(errno));
+ else
+ debug("memory locked");
+}
+#endif /* LINUX_MEMLOCK_ONFAULT */
+
#ifdef SYSTEMD_NOTIFY
static void ssh_systemd_notify(const char *, ...)