[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnumach] 01/01: Fix memory object reference leak.
From: |
Samuel Thibault |
Subject: |
[gnumach] 01/01: Fix memory object reference leak. |
Date: |
Sun, 25 May 2014 22:11:45 +0000 |
This is an automated email from the git hooks/post-receive script.
sthibault pushed a commit to branch master
in repository gnumach.
commit ab9780232320fc4f742d4240a12be6d01f65af38
Author: Samuel Thibault <address@hidden>
Date: Mon May 26 00:11:34 2014 +0200
Fix memory object reference leak.
---
debian/changelog | 2 +
.../patches/git-memory_object_translatable2.patch | 63 ++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 66 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 14a842a..9a93c5a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,8 @@ gnumach (2:1.4-10) unstable; urgency=medium
functions mutable.
* patches/git-device_translatable.patch: New patch to make device
functions mutable.
+ * patches/git-memory_object_translatable2.patch: Fix memory object reference
+ leak.
-- Samuel Thibault <address@hidden> Sun, 25 May 2014 20:06:12 +0000
diff --git a/debian/patches/git-memory_object_translatable2.patch
b/debian/patches/git-memory_object_translatable2.patch
new file mode 100644
index 0000000..c8e361d
--- /dev/null
+++ b/debian/patches/git-memory_object_translatable2.patch
@@ -0,0 +1,63 @@
+In order to use MIG translation functions to lookup memory objects,
+preprocessor macros have been introduced into the definition of
+memory_object_t in 50cc5152.
+
+The procedure definitions contain inlined type definitions in order to
+change the type of the argument in question (i.e. to make it
+polymorphic). The inline definitions however lack the destructor
+function, leading to reference leaks when a reference is acquired in
+the intran function.
+
+* include/mach/memory_object.defs: Add the destructor functions to the
+inlined type definitions.
+---
+ include/mach/memory_object.defs | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/include/mach/memory_object.defs b/include/mach/memory_object.defs
+index 0ed8dbc..1ae36aa 100644
+--- a/include/mach/memory_object.defs
++++ b/include/mach/memory_object.defs
+@@ -93,6 +93,9 @@ simpleroutine memory_object_terminate(
+ #ifdef MEMORY_OBJECT_INTRAN
+ intran: MEMORY_OBJECT_INTRAN
+ #endif
++#ifdef MEMORY_OBJECT_DESTRUCTOR
++ destructor: MEMORY_OBJECT_DESTRUCTOR
++#endif
+ ;
+ #if SEQNOS
+ msgseqno seqno : mach_port_seqno_t;
+@@ -233,6 +236,9 @@ simpleroutine memory_object_lock_completed(
+ #ifdef MEMORY_OBJECT_INTRAN
+ intran: MEMORY_OBJECT_INTRAN
+ #endif
++#ifdef MEMORY_OBJECT_DESTRUCTOR
++ destructor: MEMORY_OBJECT_DESTRUCTOR
++#endif
+ ;
+ #if SEQNOS
+ msgseqno seqno : mach_port_seqno_t;
+@@ -268,6 +274,9 @@ simpleroutine memory_object_supply_completed(
+ #ifdef MEMORY_OBJECT_INTRAN
+ intran: MEMORY_OBJECT_INTRAN
+ #endif
++#ifdef MEMORY_OBJECT_DESTRUCTOR
++ destructor: MEMORY_OBJECT_DESTRUCTOR
++#endif
+ ;
+ #if SEQNOS
+ msgseqno seqno : mach_port_seqno_t;
+@@ -318,6 +327,9 @@ simpleroutine memory_object_change_completed(
+ #ifdef MEMORY_OBJECT_INTRAN
+ intran: MEMORY_OBJECT_INTRAN
+ #endif
++#ifdef MEMORY_OBJECT_DESTRUCTOR
++ destructor: MEMORY_OBJECT_DESTRUCTOR
++#endif
+ ;
+ #if SEQNOS
+ msgseqno seqno : mach_port_seqno_t;
+--
+2.0.0.rc2
+
diff --git a/debian/patches/series b/debian/patches/series
index 59f4ee1..224d227 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -14,6 +14,7 @@ git-quiet-cd-floppy.patch
git-task_set_name.patch
git-physical-access.patch
git-memory_object_translatable.patch
+git-memory_object_translatable2.patch
git-notify_translatable.patch
git-device_translatable.patch
git-device_translatable2.patch
--
Alioth's /usr/local/bin/git-commit-notice on
/srv/git.debian.org/git/pkg-hurd/gnumach.git