summaryrefslogtreecommitdiff
path: root/debian/patches/0003-fu-nwe-flavr.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0003-fu-nwe-flavr.patch')
-rw-r--r--debian/patches/0003-fu-nwe-flavr.patch384
1 files changed, 0 insertions, 384 deletions
diff --git a/debian/patches/0003-fu-nwe-flavr.patch b/debian/patches/0003-fu-nwe-flavr.patch
deleted file mode 100644
index 26b9aa1..0000000
--- a/debian/patches/0003-fu-nwe-flavr.patch
+++ /dev/null
@@ -1,384 +0,0 @@
-From f35af2f0f109ea6fc732cf30b81fd96098557666 Mon Sep 17 00:00:00 2001
-From: Justus Winter <4winter@informatik.uni-hamburg.de>
-Date: Mon, 8 Dec 2014 22:30:09 +0100
-Subject: [PATCH gnumach 3/3] fu nwe flavr
-
----
- ipc/ipc_kmsg.c | 8 ++++++--
- ipc/ipc_notify.c | 29 +++++++++++++++--------------
- ipc/ipc_notify.h | 2 +-
- ipc/ipc_object.c | 2 +-
- ipc/ipc_port.c | 17 +++++++++++------
- ipc/ipc_right.c | 20 +++++++++++++++-----
- ipc/mach_msg.c | 5 ++++-
- kern/exception.c | 4 +++-
- 8 files changed, 56 insertions(+), 31 deletions(-)
-
-diff --git a/ipc/ipc_kmsg.c b/ipc/ipc_kmsg.c
-index 71a0d74..46406b0 100644
---- a/ipc/ipc_kmsg.c
-+++ b/ipc/ipc_kmsg.c
-@@ -1789,13 +1789,15 @@ ipc_kmsg_copyout_header(
-
- if ((--dest->ip_srights == 0) &&
- ((nsrequest = dest->ip_nsrequest) != IP_NULL)) {
-+ mach_port_t name;
- mach_port_mscount_t mscount;
-
- dest->ip_nsrequest = IP_NULL;
-+ name = dest->ip_receiver_name;
- mscount = dest->ip_mscount;
- ip_unlock(dest);
-
-- ipc_notify_no_senders(nsrequest, mscount);
-+ ipc_notify_no_senders2 (nsrequest, name, mscount);
- } else
- ip_unlock(dest);
-
-@@ -1895,13 +1897,15 @@ ipc_kmsg_copyout_header(
-
- if ((--dest->ip_srights == 0) &&
- ((nsrequest = dest->ip_nsrequest) != IP_NULL)) {
-+ mach_port_t name;
- mach_port_mscount_t mscount;
-
- dest->ip_nsrequest = IP_NULL;
-+ name = dest->ip_receiver_name;
- mscount = dest->ip_mscount;
- ip_unlock(dest);
-
-- ipc_notify_no_senders(nsrequest, mscount);
-+ ipc_notify_no_senders2 (nsrequest, name, mscount);
- } else
- ip_unlock(dest);
-
-diff --git a/ipc/ipc_notify.c b/ipc/ipc_notify.c
-index 9465a39..df2cc13 100644
---- a/ipc/ipc_notify.c
-+++ b/ipc/ipc_notify.c
-@@ -410,11 +410,6 @@ ipc_notify_no_senders(
- ipc_kmsg_t kmsg;
- mach_no_senders_notification_t *n;
-
-- if (NSREQUEST_HAS_FLAG (port, NSREQUEST_FLAG_NO_SENDERS2)) {
-- ipc_notify_no_senders2 (NSREQUEST_IPC_PORT (port), mscount);
-- return;
-- }
--
- kmsg = ikm_alloc(sizeof *n);
- if (kmsg == IKM_NULL) {
- printf("dropped no-senders (0x%p, %u)\n", port, mscount);
-@@ -442,29 +437,35 @@ ipc_notify_no_senders(
- */
-
- void
--ipc_notify_no_senders2(
-- ipc_port_t port,
-- mach_port_mscount_t mscount)
-+ipc_notify_no_senders2 (ipc_port_t port,
-+ mach_port_t name,
-+ mach_port_mscount_t mscount)
- {
- ipc_kmsg_t kmsg;
- mach_no_senders_notification2_t *n;
-
-- kmsg = ikm_alloc(sizeof *n);
-+ if (! NSREQUEST_HAS_FLAG (port, NSREQUEST_FLAG_NO_SENDERS2)) {
-+ ipc_notify_no_senders (NSREQUEST_IPC_PORT (port), mscount);
-+ return;
-+ }
-+ port = NSREQUEST_IPC_PORT (port);
-+
-+ kmsg = ikm_alloc (sizeof *n);
- if (kmsg == IKM_NULL) {
-- printf("dropped no-senders (0x%p, %u)\n", port, mscount);
-- ipc_port_release_sonce(port);
-+ printf ("dropped no-senders2 (0x%p, %u)\n", port, mscount);
-+ ipc_port_release_sonce (port);
- return;
- }
-
-- ikm_init(kmsg, sizeof *n);
-+ ikm_init (kmsg, sizeof *n);
- n = (mach_no_senders_notification2_t *) &kmsg->ikm_header;
- *n = ipc_notify_no_senders2_template;
-
- n->not_header.msgh_remote_port = (mach_port_t) port;
- n->not_count = mscount;
-- n->not_port = port->ip_receiver_name; // XXX Duh
-+ n->not_port = name;
-
-- ipc_mqueue_send_always(kmsg);
-+ ipc_mqueue_send_always (kmsg);
- }
-
- /*
-diff --git a/ipc/ipc_notify.h b/ipc/ipc_notify.h
-index b1fa090..17fc4e1 100644
---- a/ipc/ipc_notify.h
-+++ b/ipc/ipc_notify.h
-@@ -50,7 +50,7 @@ extern void
- ipc_notify_no_senders(ipc_port_t, mach_port_mscount_t);
-
- extern void
--ipc_notify_no_senders2 (ipc_port_t, mach_port_mscount_t);
-+ipc_notify_no_senders2 (ipc_port_t, mach_port_t, mach_port_mscount_t);
-
- /* No-senders notifications come in two flavors. We use the least
- significant bit to indicate that the new flavor was requested. */
-diff --git a/ipc/ipc_object.c b/ipc/ipc_object.c
-index db6ef01..419134d 100644
---- a/ipc/ipc_object.c
-+++ b/ipc/ipc_object.c
-@@ -870,7 +870,7 @@ ipc_object_copyout_dest(
- ip_unlock(port);
-
- if (nsrequest != IP_NULL)
-- ipc_notify_no_senders(nsrequest, mscount);
-+ ipc_notify_no_senders2 (nsrequest, name, mscount);
-
- break;
- }
-diff --git a/ipc/ipc_port.c b/ipc/ipc_port.c
-index 8817c49..3033b9a 100644
---- a/ipc/ipc_port.c
-+++ b/ipc/ipc_port.c
-@@ -310,24 +310,27 @@ ipc_port_nsrequest2(
- ipc_port_t *previousp)
- {
- ipc_port_t previous;
-+ mach_port_t name;
- mach_port_mscount_t mscount;
-
- assert(ip_active(port));
-
- previous = NSREQUEST_IPC_PORT (port->ip_nsrequest);
-+ name = port->ip_receiver_name;
- mscount = port->ip_mscount;
-
-+ if (new_style)
-+ notify = NSREQUEST_SET_FLAG (notify,
-+ NSREQUEST_FLAG_NO_SENDERS2);
-+
- if ((port->ip_srights == 0) &&
- (sync <= mscount) &&
- (notify != IP_NULL)) {
- port->ip_nsrequest = IP_NULL;
- ip_unlock(port);
-- ipc_notify_no_senders(notify, mscount);
-+ ipc_notify_no_senders2 (notify, name, mscount);
- } else {
-- port->ip_nsrequest = new_style
-- ? NSREQUEST_SET_FLAG (notify,
-- NSREQUEST_FLAG_NO_SENDERS2)
-- : notify;
-+ port->ip_nsrequest = notify;
- ip_unlock(port);
- }
-
-@@ -1074,6 +1077,7 @@ ipc_port_release_send(
- ipc_port_t port)
- {
- ipc_port_t nsrequest = IP_NULL;
-+ mach_port_t name;
- mach_port_mscount_t mscount;
-
- assert(IP_VALID(port));
-@@ -1092,6 +1096,7 @@ ipc_port_release_send(
- nsrequest = port->ip_nsrequest;
- if (nsrequest != IP_NULL) {
- port->ip_nsrequest = IP_NULL;
-+ name = port->ip_receiver_name;
- mscount = port->ip_mscount;
- }
- }
-@@ -1099,7 +1104,7 @@ ipc_port_release_send(
- ip_unlock(port);
-
- if (nsrequest != IP_NULL)
-- ipc_notify_no_senders(nsrequest, mscount);
-+ ipc_notify_no_senders2 (nsrequest, name, mscount);
- }
-
- /*
-diff --git a/ipc/ipc_right.c b/ipc/ipc_right.c
-index 503eb1f..b4db2fa 100644
---- a/ipc/ipc_right.c
-+++ b/ipc/ipc_right.c
-@@ -483,6 +483,7 @@ ipc_right_clean(
- ipc_port_t port = (ipc_port_t) entry->ie_object;
- ipc_port_t dnrequest;
- ipc_port_t nsrequest = IP_NULL;
-+ mach_port_t nsname = MACH_PORT_NULL;
- mach_port_mscount_t mscount = 0; /* '=0' to shut up lint */
-
- assert(port != IP_NULL);
-@@ -502,6 +503,7 @@ ipc_right_clean(
- nsrequest = port->ip_nsrequest;
- if (nsrequest != IP_NULL) {
- port->ip_nsrequest = IP_NULL;
-+ nsname = port->ip_receiver_name;
- mscount = port->ip_mscount;
- }
- }
-@@ -526,7 +528,7 @@ ipc_right_clean(
- }
-
- if (nsrequest != IP_NULL)
-- ipc_notify_no_senders(nsrequest, mscount);
-+ ipc_notify_no_senders2 (nsrequest, nsname, mscount);
-
- if (dnrequest != IP_NULL)
- ipc_notify_port_deleted(dnrequest, name);
-@@ -597,6 +599,7 @@ ipc_right_destroy(
- case MACH_PORT_TYPE_SEND_ONCE: {
- ipc_port_t port = (ipc_port_t) entry->ie_object;
- ipc_port_t nsrequest = IP_NULL;
-+ mach_port_t nsname = MACH_PORT_NULL;
- mach_port_mscount_t mscount = 0; /* '=0' to shut up lint */
- ipc_port_t dnrequest;
-
-@@ -640,6 +643,7 @@ ipc_right_destroy(
- nsrequest = port->ip_nsrequest;
- if (nsrequest != IP_NULL) {
- port->ip_nsrequest = IP_NULL;
-+ nsname = port->ip_receiver_name;
- mscount = port->ip_mscount;
- }
- }
-@@ -664,7 +668,7 @@ ipc_right_destroy(
- }
-
- if (nsrequest != IP_NULL)
-- ipc_notify_no_senders(nsrequest, mscount);
-+ ipc_notify_no_senders2 (nsrequest, nsname, mscount);
-
- if (dnrequest != IP_NULL)
- ipc_notify_port_deleted(dnrequest, name);
-@@ -761,6 +765,7 @@ ipc_right_dealloc(
- ipc_port_t port;
- ipc_port_t dnrequest = IP_NULL;
- ipc_port_t nsrequest = IP_NULL;
-+ mach_port_t nsname = MACH_PORT_NULL;
- mach_port_mscount_t mscount = 0; /* '=0' to shut up lint */
-
- assert(IE_BITS_UREFS(bits) > 0);
-@@ -782,6 +787,7 @@ ipc_right_dealloc(
- nsrequest = port->ip_nsrequest;
- if (nsrequest != IP_NULL) {
- port->ip_nsrequest = IP_NULL;
-+ nsname = port->ip_receiver_name;
- mscount = port->ip_mscount;
- }
- }
-@@ -805,7 +811,7 @@ ipc_right_dealloc(
- is_write_unlock(space);
-
- if (nsrequest != IP_NULL)
-- ipc_notify_no_senders(nsrequest, mscount);
-+ ipc_notify_no_senders2 (nsrequest, nsname, mscount);
-
- if (dnrequest != IP_NULL)
- ipc_notify_port_deleted(dnrequest, name);
-@@ -815,6 +821,7 @@ ipc_right_dealloc(
- case MACH_PORT_TYPE_SEND_RECEIVE: {
- ipc_port_t port;
- ipc_port_t nsrequest = IP_NULL;
-+ mach_port_t nsname = MACH_PORT_NULL;
- mach_port_mscount_t mscount = 0; /* '=0' to shut up lint */
-
- assert(IE_BITS_UREFS(bits) > 0);
-@@ -833,6 +840,7 @@ ipc_right_dealloc(
- nsrequest = port->ip_nsrequest;
- if (nsrequest != IP_NULL) {
- port->ip_nsrequest = IP_NULL;
-+ nsname = port->ip_receiver_name;
- mscount = port->ip_mscount;
- }
- }
-@@ -846,7 +854,7 @@ ipc_right_dealloc(
- is_write_unlock(space);
-
- if (nsrequest != IP_NULL)
-- ipc_notify_no_senders(nsrequest, mscount);
-+ ipc_notify_no_senders2 (nsrequest, nsname, mscount);
- break;
- }
-
-@@ -1086,6 +1094,7 @@ ipc_right_delta(
- ipc_port_t port;
- ipc_port_t dnrequest = IP_NULL;
- ipc_port_t nsrequest = IP_NULL;
-+ mach_port_t nsname = MACH_PORT_NULL;
- mach_port_mscount_t mscount = 0; /* '=0' to shut up lint */
-
- if ((bits & MACH_PORT_TYPE_SEND) == 0)
-@@ -1115,6 +1124,7 @@ ipc_right_delta(
- nsrequest = port->ip_nsrequest;
- if (nsrequest != IP_NULL) {
- port->ip_nsrequest = IP_NULL;
-+ nsname = port->ip_receiver_name;
- mscount = port->ip_mscount;
- }
- }
-@@ -1151,7 +1161,7 @@ ipc_right_delta(
- is_write_unlock(space);
-
- if (nsrequest != IP_NULL)
-- ipc_notify_no_senders(nsrequest, mscount);
-+ ipc_notify_no_senders2 (nsrequest, nsname, mscount);
-
- if (dnrequest != IP_NULL)
- ipc_notify_port_deleted(dnrequest, name);
-diff --git a/ipc/mach_msg.c b/ipc/mach_msg.c
-index 1e122c7..a3bc22c 100644
---- a/ipc/mach_msg.c
-+++ b/ipc/mach_msg.c
-@@ -1119,16 +1119,19 @@ mach_msg_trap(
- if ((--dest_port->ip_srights == 0) &&
- (dest_port->ip_nsrequest != IP_NULL)) {
- ipc_port_t nsrequest;
-+ mach_port_t name;
- mach_port_mscount_t mscount;
-
- /* a rather rare case */
-
- nsrequest = dest_port->ip_nsrequest;
-+ name = dest_port->ip_receiver_name;
- mscount = dest_port->ip_mscount;
- dest_port->ip_nsrequest = IP_NULL;
- ip_unlock(dest_port);
-
-- ipc_notify_no_senders(nsrequest, mscount);
-+ ipc_notify_no_senders2 (nsrequest,
-+ name, mscount);
- } else
- ip_unlock(dest_port);
-
-diff --git a/kern/exception.c b/kern/exception.c
-index 7954fba..98ca730 100644
---- a/kern/exception.c
-+++ b/kern/exception.c
-@@ -648,16 +648,18 @@ exception_raise(
- if ((--dest_port->ip_srights == 0) &&
- (dest_port->ip_nsrequest != IP_NULL)) {
- ipc_port_t nsrequest;
-+ mach_port_t name;
- mach_port_mscount_t mscount;
-
- /* a rather rare case */
-
- nsrequest = dest_port->ip_nsrequest;
-+ name = dest_port->ip_receiver_name;
- mscount = dest_port->ip_mscount;
- dest_port->ip_nsrequest = IP_NULL;
- ip_unlock(dest_port);
-
-- ipc_notify_no_senders(nsrequest, mscount);
-+ ipc_notify_no_senders2 (nsrequest, name, mscount);
- } else
- ip_unlock(dest_port);
-
---
-2.1.3
-