diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-09-04 11:19:29 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-09-04 11:19:29 +0200 |
commit | 8fd228ccd454578fb0367d97d95b90f9073a8d7c (patch) | |
tree | 9a6afae269cec07c75cea8992a4d46e313d74a9f | |
parent | 626ff916ca63334e6c170f059ea47f9cfea19661 (diff) |
hurd: make memory_object parameter polymorphic
Make the memory_object parameter of default_pager_object_create
polymorphic. This fixes https://savannah.gnu.org/bugs/?26751 .
* hurd/default_pager.defs (default_pager_object_create): Make
memory_object parameter polymorphic.
* mach-defpager/default_pager.c (S_default_pager_object_create):
Adjust accordingly.
* trans/proxy-defpager.c (S_default_pager_object_create): Likewise.
-rw-r--r-- | hurd/default_pager.defs | 2 | ||||
-rw-r--r-- | mach-defpager/default_pager.c | 2 | ||||
-rw-r--r-- | trans/proxy-defpager.c | 2 |
3 files changed, 5 insertions, 1 deletions
diff --git a/hurd/default_pager.defs b/hurd/default_pager.defs index 48855039..1a4290d5 100644 --- a/hurd/default_pager.defs +++ b/hurd/default_pager.defs @@ -43,7 +43,7 @@ DEFAULT_PAGER_IMPORTS routine default_pager_object_create( default_pager : mach_port_t; out memory_object : memory_object_t = - MACH_MSG_TYPE_MAKE_SEND; + MACH_MSG_TYPE_PORT_SEND; object_size : vm_size_t); routine default_pager_info( diff --git a/mach-defpager/default_pager.c b/mach-defpager/default_pager.c index 380c7246..d40a9c92 100644 --- a/mach-defpager/default_pager.c +++ b/mach-defpager/default_pager.c @@ -3160,6 +3160,7 @@ default_pager() kern_return_t S_default_pager_object_create (mach_port_t pager, mach_port_t *mem_obj, + mach_msg_type_name_t *mem_obj_type, vm_size_t size) { default_pager_t ds; @@ -3190,6 +3191,7 @@ S_default_pager_object_create (mach_port_t pager, default_pager_add(ds, FALSE); *mem_obj = port; + *mem_obj_type = MACH_MSG_TYPE_MAKE_SEND; return (KERN_SUCCESS); } diff --git a/trans/proxy-defpager.c b/trans/proxy-defpager.c index 98176577..5fe8ffd1 100644 --- a/trans/proxy-defpager.c +++ b/trans/proxy-defpager.c @@ -45,8 +45,10 @@ allowed (mach_port_t port, int mode) kern_return_t S_default_pager_object_create (mach_port_t default_pager, memory_object_t *memory_object, + mach_msg_type_name_t *memory_object_type, vm_size_t object_size) { + *memory_object_type = MACH_MSG_TYPE_COPY_SEND; return allowed (default_pager, O_EXEC) ?: default_pager_object_create (real_defpager, memory_object, object_size); } |