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 <[email protected]> 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 <[email protected]> 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
