aboutsummaryrefslogtreecommitdiff
path: root/mach-defpager/main.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2021-08-16 13:18:50 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-08-16 13:20:24 +0200
commit7e176f23511446bc33f4e43fd098ddb73acd8146 (patch)
treed2c9f6f2b7db5caf68c1580492c59f381f527738 /mach-defpager/main.c
parentee9c8ddfbe2de2d6e62cd063a269db6446ca7faf (diff)
downloadhurd-7e176f23511446bc33f4e43fd098ddb73acd8146.tar.gz
hurd-7e176f23511446bc33f4e43fd098ddb73acd8146.tar.bz2
hurd-7e176f23511446bc33f4e43fd098ddb73acd8146.zip
mach-defpager: Drop kalloc/kfree
glibc is removing its malloc hooks, but gnumach now has support for mlockall, which we can just use instead of kalloc/kfree. * mach-defpager/main.c (main): Call mlockall. * mach-defpager/kalloc.c: Remove. * mach-defpager/kalloc.h: Remove. * mach-defpager/default_pager.c: Use malloc/free instead of kalloc/kfree. * mach-defpager/setup.c: Likewise.
Diffstat (limited to 'mach-defpager/main.c')
-rw-r--r--mach-defpager/main.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/mach-defpager/main.c b/mach-defpager/main.c
index 71615c8f..67d4c585 100644
--- a/mach-defpager/main.c
+++ b/mach-defpager/main.c
@@ -32,6 +32,7 @@
#include <error.h>
#include <signal.h>
#include <string.h>
+#include <sys/mman.h>
/* XXX */
#include <fcntl.h>
@@ -89,6 +90,10 @@ main (int argc, char **argv)
if (err)
error (1, err, "cannot get privileged ports");
+ err = mlockall(MCL_CURRENT | MCL_FUTURE);
+ if (err)
+ error (1, err, "cannot lock all memory");
+
defpager = MACH_PORT_NULL;
err = vm_set_default_memory_manager (bootstrap_master_host_port, &defpager);
if (err)