summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog1
-rw-r--r--debian/patches/proc_exception.patch19
-rw-r--r--debian/patches/series1
3 files changed, 21 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 515f0af1..d4a6f526 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,7 @@ hurd (20110519-4) UNRELEASED; urgency=low
* local/setup-translators: Restore /dev/shm creation.
* patches/libdiskfs_sync.patch: New patch to fix sync at shutdown.
+ * patches/proc_exception.patch: New patch to fix spurious port deallocation.
-- Samuel Thibault <sthibault@debian.org> Mon, 01 Aug 2011 22:53:23 +0200
diff --git a/debian/patches/proc_exception.patch b/debian/patches/proc_exception.patch
new file mode 100644
index 00000000..9b6110cc
--- /dev/null
+++ b/debian/patches/proc_exception.patch
@@ -0,0 +1,19 @@
+If proc_exception_raise() actually managed to sent its message, the reply port
+has already been consumed, so we can't send a reply to the requester any more...
+
+TODO: this introduces leaks in some cases ; check in which error cases
+proc_exception_raise() has consumed the reply port anyway.
+
+diff --git a/proc/mgt.c b/proc/mgt.c
+index 5373d10..1180c70 100644
+--- a/proc/mgt.c
++++ b/proc/mgt.c
+@@ -499,7 +499,7 @@ S_proc_exception_raise (mach_port_t excport,
+
+ mach_port_destroy (mach_task_self (), thread);
+
+- return 0;
++ return MIG_NO_REPLY;
+ }
+
+ }
diff --git a/debian/patches/series b/debian/patches/series
index 9a7e4bce..59151900 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -31,3 +31,4 @@ auth-intr-cure.patch
libpager_deadlock.patch
libdiskfs_self-reauth.patch
libdiskfs_sync.patch
+proc_exception.patch