diff options
-rw-r--r-- | debian/patches/hurd-make-memory_object-parameter-polymorphic.patch | 70 | ||||
-rw-r--r-- | debian/patches/series | 3 |
2 files changed, 72 insertions, 1 deletions
diff --git a/debian/patches/hurd-make-memory_object-parameter-polymorphic.patch b/debian/patches/hurd-make-memory_object-parameter-polymorphic.patch new file mode 100644 index 00000000..f7f8b5df --- /dev/null +++ b/debian/patches/hurd-make-memory_object-parameter-polymorphic.patch @@ -0,0 +1,70 @@ +From 8fd228ccd454578fb0367d97d95b90f9073a8d7c Mon Sep 17 00:00:00 2001 +From: Justus Winter <4winter@informatik.uni-hamburg.de> +Date: Thu, 4 Sep 2014 11:19:29 +0200 +Subject: [PATCH] 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. +--- + hurd/default_pager.defs | 2 +- + mach-defpager/default_pager.c | 2 ++ + trans/proxy-defpager.c | 2 ++ + 3 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/hurd/default_pager.defs b/hurd/default_pager.defs +index 4885503..1a4290d 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 380c724..d40a9c9 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 9817657..5fe8ffd 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); + } +-- +2.1.0 + diff --git a/debian/patches/series b/debian/patches/series index c4084430..320d4036 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -15,7 +15,7 @@ startup-usr-support.patch tmp_exec_startup.patch uptime_w_path_fix.patch stat_round.patch -proxy-defpager.diff +#proxy-defpager.diff #external.patch external-splitinit.patch @@ -56,3 +56,4 @@ mount-bind.patch xkb-compat.patch mach-defpager-protected-payload.patch +hurd-make-memory_object-parameter-polymorphic.patch |