diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-07-01 02:12:43 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-07-01 02:12:43 +0000 |
commit | 13ea39a34766fcbecd96ab94bcdf798b08e9bb60 (patch) | |
tree | 1e1463b03838a6f36868a4dafc7e652358a51857 /mach-defpager/setup.c | |
parent | 1f8d504f631531c199d7c6154a0dc442d80ea4a7 (diff) | |
parent | 7e15f3d69a83a34ac62cbbee944a0bfbfa92724e (diff) |
Merge branch 'master' into xkb
Conflicts:
config.make.in
configure.in
Diffstat (limited to 'mach-defpager/setup.c')
-rw-r--r-- | mach-defpager/setup.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/mach-defpager/setup.c b/mach-defpager/setup.c index e7e89299..080b0fa6 100644 --- a/mach-defpager/setup.c +++ b/mach-defpager/setup.c @@ -22,19 +22,21 @@ #include <stddef.h> #include <assert.h> #include <mach.h> +#include <string.h> +#include <strings.h> + +#include <default_pager.h> +#include <kalloc.h> #include "file_io.h" #include "default_pager_S.h" /* This should be in some system header... XXX */ -static inline int page_aligned (vm_offset_t num) +int page_aligned (vm_offset_t num) { return trunc_page (num) == num; } -/* From serverboot/kalloc.c. */ -extern void *kalloc (vm_size_t); - extern mach_port_t default_pager_default_port; /* default_pager.c */ kern_return_t @@ -87,7 +89,7 @@ S_default_pager_paging_storage (mach_port_t pager, fdp->runs[i].length = runs[i + 1]; if (fdp->runs[i].start + fdp->runs[i].length > devsize) { - kfree (fdp); + kfree (fdp, offsetof (struct file_direct, runs[nrun])); return EINVAL; } fdp->fd_size += fdp->runs[i].length; @@ -295,7 +297,7 @@ remove_paging_file (char *file_name) struct file_direct *fdp = 0; kern_return_t kr; - kr = destroy_paging_partition(file_name, &fdp); + kr = destroy_paging_partition(file_name, (void **)&fdp); if (kr == KERN_SUCCESS && fdp != 0) { mach_port_deallocate (mach_task_self (), fdp->device); |