commit-hurd
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]