diff options
Diffstat (limited to 'debian')
-rw-r--r-- | debian/patches/fix-receiver-lookups.patch | 108 | ||||
-rw-r--r-- | debian/patches/series | 1 |
2 files changed, 0 insertions, 109 deletions
diff --git a/debian/patches/fix-receiver-lookups.patch b/debian/patches/fix-receiver-lookups.patch deleted file mode 100644 index 1f18aa70..00000000 --- a/debian/patches/fix-receiver-lookups.patch +++ /dev/null @@ -1,108 +0,0 @@ -diff --git a/proc/mgt.c b/proc/mgt.c -index 602ba84..5e0accd 100644 ---- a/proc/mgt.c -+++ b/proc/mgt.c -@@ -417,7 +417,7 @@ S_proc_handle_exceptions (struct proc *p, - the thread_set_state requested by proc_handle_exceptions and then - send an exception_raise message as requested. */ - kern_return_t --S_proc_exception_raise (mach_port_t excport, -+S_proc_exception_raise (struct exc *e, - mach_port_t reply, - mach_msg_type_name_t reply_type, - mach_port_t thread, -@@ -428,8 +428,7 @@ S_proc_exception_raise (mach_port_t excport, - { - error_t err; - struct proc *p; -- struct exc *e = ports_lookup_port (proc_bucket, excport, exc_class); -- if (!e) -+ if (!e || e->pi.bucket != proc_bucket || e->pi.class != exc_class) - return EOPNOTSUPP; - - p = task_find (task); -@@ -455,7 +454,6 @@ S_proc_exception_raise (mach_port_t excport, - the faulting thread's state to run its recovery code, which should - dequeue that message. */ - err = thread_set_state (thread, e->flavor, e->thread_state, e->statecnt); -- ports_port_deref (e); - mach_port_deallocate (mach_task_self (), thread); - mach_port_deallocate (mach_task_self (), task); - if (err) -@@ -484,7 +482,6 @@ S_proc_exception_raise (mach_port_t excport, - /* Nuke the task; we will get a notification message and report that - it died with SIGNO. */ - task_terminate (task); -- ports_port_deref (e); - - /* In the MACH_SEND_NOTIFY_IN_PROGRESS case, the kernel did a - pseudo-receive of the RPC request message that may have added user -diff --git a/proc/mig-decls.h b/proc/mig-decls.h -new file mode 100644 -index 0000000..0d5bd4d ---- /dev/null -+++ b/proc/mig-decls.h -@@ -0,0 +1,42 @@ -+/* Translation functions for mig. -+ -+ Copyright (C) 2013 Free Software Foundation, Inc. -+ -+ Written by Justus Winter <4winter@informatik.uni-hamburg.de> -+ -+ This file is part of the GNU Hurd. -+ -+ The GNU Hurd is free software; you can redistribute it and/or -+ modify it under the terms of the GNU General Public License as -+ published by the Free Software Foundation; either version 2, or (at -+ your option) any later version. -+ -+ The GNU Hurd is distributed in the hope that it will be useful, but -+ WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with the GNU Hurd. If not, see <http://www.gnu.org/licenses/>. */ -+ -+#ifndef __MIG_DECLS_H__ -+#define __MIG_DECLS_H__ -+ -+#include "proc.h" -+ -+typedef struct exc* exc_t; -+ -+static inline exc_t __attribute__ ((unused)) -+begin_using_exc_port (mach_port_t port) -+{ -+ return ports_lookup_port (NULL, port, exc_class); -+} -+ -+static inline void __attribute__ ((unused)) -+end_using_exc (exc_t exc) -+{ -+ if (exc != NULL) -+ ports_port_deref (exc); -+} -+ -+#endif -diff --git a/proc/proc_exc.defs b/proc/proc_exc.defs -index e9c58f1..c910824 100644 ---- a/proc/proc_exc.defs -+++ b/proc/proc_exc.defs -@@ -33,9 +33,15 @@ subsystem proc_exc 2400; - #include <mach/std_types.defs> - - ServerPrefix S_; -+import "mig-decls.h"; -+ -+type exception_t = mach_port_copy_send_t -+ cusertype: mach_port_t -+ intran: exc_t begin_using_exc_port (exception_t) -+ destructor: end_using_exc (exc_t); - - routine proc_exception_raise ( -- exception_port: mach_port_t; -+ exception_port: exception_t; - replyport reply: mach_port_poly_t; - msgoption flags: integer_t; - thread: mach_port_t; diff --git a/debian/patches/series b/debian/patches/series index 266c1c82..145e199a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -44,5 +44,4 @@ proc_set_init_task.patch newRPC.patch revert-remove-threadvars-hack.patch xkb-compat.patch -fix-receiver-lookups.patch rename-error.patch |