[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#582383: marked as done (libc6: When creating/removing a lot of interfaces it's possible to trigger an abort in glibc's getifaddrs)



Your message dated Wed, 26 May 2010 22:24:58 +0000
with message-id <E1OHP22-0003fE-Bv@ries.debian.org>
and subject line Bug#582383: fixed in eglibc 2.11.1-0exp9
has caused the Debian Bug report #582383,
regarding libc6: When creating/removing a lot of interfaces it's possible to trigger an abort in glibc's getifaddrs
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
582383: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=582383
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libc6
Version: 2.7-18lenny2
Severity: important
Tags: patch

Because of this bug in libc, ladvd (and perhaps other softwares) can
trigger an abort() in libc when network interfaces change (up/down,
create destroy) rapidly.  I've noticed this with ladvd, and contacted
its developer to clarify the issue, thus please allow me to quote from a
conversation with Sten Spans - author and maintainer of the ladvd
software -, as this will describe the problem precisely:

> Sten Spans 
I think I've found the issue. When creating/removing a lot of
interfaces I'm able to trigger an abort in glibc's getifaddrs:

#0  0x00007fd2727604b5 in *__GI_raise (sig=<value optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007fd272763f50 in *__GI_abort () at abort.c:92
#2  0x00007fd27282e9d8 in map_newlink (ifap=<value optimized out>)
    at ../sysdeps/unix/sysv/linux/ifaddrs.c:320
#3  *__GI_getifaddrs (ifap=<value optimized out>)
    at ../sysdeps/unix/sysv/linux/ifaddrs.c:751
#4  0x0000000000407987 in netif_fetch (ifc=<value optimized out>,
    ifl=<value optimized out>, sysinfo=0x616c40, netifs=0x616c20)
    at netif.c:140

This issue has already been fixed in upstream glibc a few weeks ago
with the following patch:

http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b8b14c4cc38883032b8ebae50c9a8b3efd256483

It would be great if you could verify that this is indeed the issue.
The sad thing is that I'm not quite sure how to solve this without
patching glibc.
---------------------------------------------------------------------

I was able reproduce this abort on ~180 machines with a lot of interfaces which
are going up/down at a great pace.

The attached patch is from upstream, and is the same as on the above
mentioned sourceware.org link.


-- System Information:
Debian Release: 5.0.4
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.29.6-smp (SMP w/2 CPU cores)
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) (ignored: LC_ALL set to en_US)
Shell: /bin/sh linked to /bin/bash

Versions of packages libc6 depends on:
ii  libgcc1                      1:4.3.2-1.1 GCC support library

libc6 recommends no packages.

Versions of packages libc6 suggests:
pn  glibc-doc                   <none>       (no description available)
ii  libc6-i686                  2.7-18lenny2 GNU C Library: Shared libraries [i
ii  locales                     2.7-18lenny2 GNU C Library: National Language (

-- debconf information:
  glibc/upgrade: true
  glibc/restart-failed:
  glibc/restart-services:
>From b8b14c4cc38883032b8ebae50c9a8b3efd256483 Mon Sep 17 00:00:00 2001
From: Ulrich Drepper <drepper@redhat.com>
Date: Sat, 3 Apr 2010 20:36:59 -0700
Subject: [PATCH] Fix changes to interface list during getifaddrs calls.

---
 ChangeLog                         |   10 +++++++
 sysdeps/unix/sysv/linux/ifaddrs.c |   55 +++++++++++++++++++++++++++++--------
 2 files changed, 53 insertions(+), 12 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 6420b9d..2b735fc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2010-04-03  Ulrich Drepper  <drepper@redhat.com>
+
+	[BZ #11387]
+	* sysdeps/unix/sysv/linux/ifaddrs.c (map_newlin): Don't abort on
+	unknown interface, return -1.
+	(getifaddrs_internal): Rename from getifaddrs.  Handle errors in
+	map_newlink be returning -EAGAIN.
+	(getifaddrs): If -EAGAIN is returned from getifaddrs_internal try
+	again.
+
 2010-03-25  Ryan S. Arnold  <rsa@us.ibm.com>
 
 	* sysdeps/unix/sysv/linux/getsysstats.c (next_line): Remove
diff --git a/sysdeps/unix/sysv/linux/ifaddrs.c b/sysdeps/unix/sysv/linux/ifaddrs.c
index 149bd1c..84f223d 100644
--- a/sysdeps/unix/sysv/linux/ifaddrs.c
+++ b/sysdeps/unix/sysv/linux/ifaddrs.c
@@ -1,5 +1,5 @@
 /* getifaddrs -- get names and addresses of all network interfaces
-   Copyright (C) 2003-2008, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2003-2008, 2009, 2010 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -315,17 +315,19 @@ map_newlink (int index, struct ifaddrs_storage *ifas, int *map, int max)
       else if (map[i] == index)
 	return i;
     }
-  /* This should never be reached. If this will be reached, we have
-     a very big problem.  */
-  abort ();
+
+  /* This means interfaces changed inbetween the reading of the
+     RTM_GETLINK and RTM_GETADDR information.  We have to repeat
+     everything.  */
+  return -1;
 }
 
 
 /* Create a linked list of `struct ifaddrs' structures, one for each
    network interface on the host machine.  If successful, store the
    list in *IFAP and return 0.  On errors, return -1 and set `errno'.  */
-int
-getifaddrs (struct ifaddrs **ifap)
+static int
+getifaddrs_internal (struct ifaddrs **ifap)
 {
   struct netlink_handle nh = { 0, 0, 0, NULL, NULL };
   struct netlink_res *nlp;
@@ -481,6 +483,13 @@ getifaddrs (struct ifaddrs **ifap)
 		 kernel.  */
 	      ifa_index = map_newlink (ifim->ifi_index - 1, ifas,
 				       map_newlink_data, newlink);
+	      if (__builtin_expect (ifa_index == -1, 0))
+		{
+		try_again:
+		  result = -EAGAIN;
+		  free (ifas);
+		  goto exit_free;
+		}
 	      ifas[ifa_index].ifa.ifa_flags = ifim->ifi_flags;
 
 	      while (RTA_OK (rta, rtasize))
@@ -565,9 +574,11 @@ getifaddrs (struct ifaddrs **ifap)
 		 that we have holes in the interface part of the list,
 		 but we always have already the interface for this address.  */
 	      ifa_index = newlink + newaddr_idx;
-	      ifas[ifa_index].ifa.ifa_flags
-		= ifas[map_newlink (ifam->ifa_index - 1, ifas,
-				    map_newlink_data, newlink)].ifa.ifa_flags;
+	      int idx = map_newlink (ifam->ifa_index - 1, ifas,
+				     map_newlink_data, newlink);
+	      if (__builtin_expect (idx == -1, 0))
+		goto try_again;
+	      ifas[ifa_index].ifa.ifa_flags = ifas[idx].ifa.ifa_flags;
 	      if (ifa_index > 0)
 		ifas[ifa_index - 1].ifa.ifa_next = &ifas[ifa_index].ifa;
 	      ++newaddr_idx;
@@ -747,9 +758,13 @@ getifaddrs (struct ifaddrs **ifap)
 	      /* If we didn't get the interface name with the
 		 address, use the name from the interface entry.  */
 	      if (ifas[ifa_index].ifa.ifa_name == NULL)
-		ifas[ifa_index].ifa.ifa_name
-		  = ifas[map_newlink (ifam->ifa_index - 1, ifas,
-				      map_newlink_data, newlink)].ifa.ifa_name;
+		{
+		  int idx = map_newlink (ifam->ifa_index - 1, ifas,
+					 map_newlink_data, newlink);
+		  if (__builtin_expect (idx == -1, 0))
+		    goto try_again;
+		  ifas[ifa_index].ifa.ifa_name = ifas[idx].ifa.ifa_name;
+		}
 
 	      /* Calculate the netmask.  */
 	      if (ifas[ifa_index].ifa.ifa_addr
@@ -826,6 +841,22 @@ getifaddrs (struct ifaddrs **ifap)
 
   return result;
 }
+
+
+/* Create a linked list of `struct ifaddrs' structures, one for each
+   network interface on the host machine.  If successful, store the
+   list in *IFAP and return 0.  On errors, return -1 and set `errno'.  */
+int
+getifaddrs (struct ifaddrs **ifap)
+{
+  int res;
+
+  do
+    res = getifaddrs_internal (ifap);
+  while (res == -EAGAIN);
+
+  return res;
+}
 libc_hidden_def (getifaddrs)
 
 
-- 
1.7.0.1


--- End Message ---
--- Begin Message ---
Source: eglibc
Source-Version: 2.11.1-0exp9

We believe that the bug you reported is fixed in the latest version of
eglibc, which is due to be installed in the Debian FTP archive:

eglibc-source_2.11.1-0exp9_all.deb
  to main/e/eglibc/eglibc-source_2.11.1-0exp9_all.deb
eglibc_2.11.1-0exp9.diff.gz
  to main/e/eglibc/eglibc_2.11.1-0exp9.diff.gz
eglibc_2.11.1-0exp9.dsc
  to main/e/eglibc/eglibc_2.11.1-0exp9.dsc
glibc-doc_2.11.1-0exp9_all.deb
  to main/e/eglibc/glibc-doc_2.11.1-0exp9_all.deb
libc-bin_2.11.1-0exp9_amd64.deb
  to main/e/eglibc/libc-bin_2.11.1-0exp9_amd64.deb
libc-dev-bin_2.11.1-0exp9_amd64.deb
  to main/e/eglibc/libc-dev-bin_2.11.1-0exp9_amd64.deb
libc6-dbg_2.11.1-0exp9_amd64.deb
  to main/e/eglibc/libc6-dbg_2.11.1-0exp9_amd64.deb
libc6-dev-i386_2.11.1-0exp9_amd64.deb
  to main/e/eglibc/libc6-dev-i386_2.11.1-0exp9_amd64.deb
libc6-dev_2.11.1-0exp9_amd64.deb
  to main/e/eglibc/libc6-dev_2.11.1-0exp9_amd64.deb
libc6-i386_2.11.1-0exp9_amd64.deb
  to main/e/eglibc/libc6-i386_2.11.1-0exp9_amd64.deb
libc6-pic_2.11.1-0exp9_amd64.deb
  to main/e/eglibc/libc6-pic_2.11.1-0exp9_amd64.deb
libc6-prof_2.11.1-0exp9_amd64.deb
  to main/e/eglibc/libc6-prof_2.11.1-0exp9_amd64.deb
libc6-udeb_2.11.1-0exp9_amd64.udeb
  to main/e/eglibc/libc6-udeb_2.11.1-0exp9_amd64.udeb
libc6_2.11.1-0exp9_amd64.deb
  to main/e/eglibc/libc6_2.11.1-0exp9_amd64.deb
libnss-dns-udeb_2.11.1-0exp9_amd64.udeb
  to main/e/eglibc/libnss-dns-udeb_2.11.1-0exp9_amd64.udeb
libnss-files-udeb_2.11.1-0exp9_amd64.udeb
  to main/e/eglibc/libnss-files-udeb_2.11.1-0exp9_amd64.udeb
locales-all_2.11.1-0exp9_amd64.deb
  to main/e/eglibc/locales-all_2.11.1-0exp9_amd64.deb
locales_2.11.1-0exp9_all.deb
  to main/e/eglibc/locales_2.11.1-0exp9_all.deb
nscd_2.11.1-0exp9_amd64.deb
  to main/e/eglibc/nscd_2.11.1-0exp9_amd64.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 582383@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Aurelien Jarno <aurel32@debian.org> (supplier of updated eglibc package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Wed, 26 May 2010 20:30:30 +0200
Source: eglibc
Binary: libc-bin libc-dev-bin glibc-doc eglibc-source locales locales-all nscd libc6 libc6-dev libc6-dbg libc6-prof libc6-pic libc6-udeb libc6.1 libc6.1-dev libc6.1-dbg libc6.1-prof libc6.1-pic libc6.1-udeb libc0.3 libc0.3-dev libc0.3-dbg libc0.3-prof libc0.3-pic libc0.3-udeb libc0.1 libc0.1-dev libc0.1-dbg libc0.1-prof libc0.1-pic libc0.1-udeb libc6-i386 libc6-dev-i386 libc6-sparc64 libc6-dev-sparc64 libc6-s390x libc6-dev-s390x libc6-amd64 libc6-dev-amd64 libc6-powerpc libc6-dev-powerpc libc6-ppc64 libc6-dev-ppc64 libc6-mipsn32 libc6-dev-mipsn32 libc6-mips64 libc6-dev-mips64 libc0.1-i386 libc0.1-dev-i386 libc6-sparcv9b libc6-i686 libc6-xen libc0.1-i686 libc6.1-alphaev67 libnss-dns-udeb libnss-files-udeb
Architecture: source all amd64
Version: 2.11.1-0exp9
Distribution: experimental
Urgency: low
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Changed-By: Aurelien Jarno <aurel32@debian.org>
Description: 
 eglibc-source - Embedded GNU C Library: sources
 glibc-doc  - Embedded GNU C Library: Documentation
 libc-bin   - Embedded GNU C Library: Binaries
 libc-dev-bin - Embedded GNU C Library: Development binaries
 libc0.1    - Embedded GNU C Library: Shared libraries
 libc0.1-dbg - Embedded GNU C Library: detached debugging symbols
 libc0.1-dev - Embedded GNU C Library: Development Libraries and Header Files
 libc0.1-dev-i386 - GNU C Library: 32bit development libraries for AMD64
 libc0.1-i386 - GNU C Library: 32bit shared libraries for AMD64
 libc0.1-i686 - GNU C Library: Shared libraries [i686 optimized]
 libc0.1-pic - Embedded GNU C Library: PIC archive library
 libc0.1-prof - Embedded GNU C Library: Profiling Libraries
 libc0.1-udeb - Embedded GNU C Library: Shared libraries - udeb (udeb)
 libc0.3    - Embedded GNU C Library: Shared libraries
 libc0.3-dbg - Embedded GNU C Library: detached debugging symbols
 libc0.3-dev - Embedded GNU C Library: Development Libraries and Header Files
 libc0.3-pic - Embedded GNU C Library: PIC archive library
 libc0.3-prof - Embedded GNU C Library: Profiling Libraries
 libc0.3-udeb - Embedded GNU C Library: Shared libraries - udeb (udeb)
 libc6      - Embedded GNU C Library: Shared libraries
 libc6-amd64 - GNU C Library: 64bit Shared libraries for AMD64
 libc6-dbg  - Embedded GNU C Library: detached debugging symbols
 libc6-dev  - Embedded GNU C Library: Development Libraries and Header Files
 libc6-dev-amd64 - GNU C Library: 64bit Development Libraries for AMD64
 libc6-dev-i386 - GNU C Library: 32-bit development libraries for AMD64
 libc6-dev-mips64 - GNU C Library: 64bit Development Libraries for MIPS64
 libc6-dev-mipsn32 - GNU C Library: n32 Development Libraries for MIPS64
 libc6-dev-powerpc - GNU C Library: 32bit powerpc development libraries for ppc64
 libc6-dev-ppc64 - GNU C Library: 64bit Development Libraries for PowerPC64
 libc6-dev-s390x - GNU C Library: 64bit Development Libraries for IBM zSeries
 libc6-dev-sparc64 - GNU C Library: 64bit Development Libraries for UltraSPARC
 libc6-i386 - GNU C Library: 32-bit shared libraries for AMD64
 libc6-i686 - GNU C Library: Shared libraries [i686 optimized]
 libc6-mips64 - GNU C Library: 64bit Shared libraries for MIPS64
 libc6-mipsn32 - GNU C Library: n32 Shared libraries for MIPS64
 libc6-pic  - Embedded GNU C Library: PIC archive library
 libc6-powerpc - GNU C Library: 32bit powerpc shared libraries for ppc64
 libc6-ppc64 - GNU C Library: 64bit Shared libraries for PowerPC64
 libc6-prof - Embedded GNU C Library: Profiling Libraries
 libc6-s390x - GNU C Library: 64bit Shared libraries for IBM zSeries
 libc6-sparc64 - GNU C Library: 64bit Shared libraries for UltraSPARC
 libc6-sparcv9b - GNU C Library: Shared libraries [v9b optimized]
 libc6-udeb - Embedded GNU C Library: Shared libraries - udeb (udeb)
 libc6-xen  - GNU C Library: Shared libraries [Xen version]
 libc6.1    - Embedded GNU C Library: Shared libraries
 libc6.1-alphaev67 - GNU C Library: Shared libraries (EV67 optimized)
 libc6.1-dbg - Embedded GNU C Library: detached debugging symbols
 libc6.1-dev - Embedded GNU C Library: Development Libraries and Header Files
 libc6.1-pic - Embedded GNU C Library: PIC archive library
 libc6.1-prof - Embedded GNU C Library: Profiling Libraries
 libc6.1-udeb - Embedded GNU C Library: Shared libraries - udeb (udeb)
 libnss-dns-udeb - GNU C Library: NSS helper for DNS - udeb (udeb)
 libnss-files-udeb - GNU C Library: NSS helper for files - udeb (udeb)
 locales    - Embedded GNU C Library: National Language (locale) data [support]
 locales-all - Embedded GNU C Library: Precompiled locale data
 nscd       - Embedded GNU C Library: Name Service Cache Daemon
Closes: 568488 568924 569592 575404 582383
Changes: 
 eglibc (2.11.1-0exp9) experimental; urgency=low
 .
   [ Clint Adams ]
   * New upstream release:
     - Fixes a house of mind attack.  Closes: bug#568488.
     - Add the fallocate64() syscall.  Closes: bug#568924.
     - Add RES_USE_DNSSEC support.  Closes: bug#569592.
     - Don't abort in getifaddrs.  Closes: bug#582383.
     - Update debian/patches/all/local-pthread-manpages.diff
     - Remove debian/patches/alpha/submitted-getsysstats.diff (merged)
     - Remove debian/patches/alpha/submitted-includes.diff (merged)
     - Remove debian/patches/alpha/submitted-lowlevellock.diff (merged)
     - Remove debian/patches/alpha/submitted-procfs_h.diff (merged)
     - Remove debian/patches/any/cvs-broken-dns.diff (merged)
     - Remove debian/patches/any/cvs-getutmpx-compat.diff (merged)
     - Remove debian/patches/any/cvs-ksm.diff (merged)
     - Remove debian/patches/any/cvs-malloc_info-output.diff (merged)
     - Remove debian/patches/any/cvs-nis-not-configured.diff (merged)
     - Remove debian/patches/any/cvs-nptl-init.diff (merged)
     - Remove debian/patches/any/cvs-resolv-edns0.diff (merged)
     - Remove debian/patches/any/cvs-resolv-init.diff (merged)
     - Remove debian/patches/any/cvs-resolv-uninitialized.diff (merged)
     - Remove debian/patches/any/cvs-resolv-v6mapped.diff (merged)
     - Remove debian/patches/any/cvs-sched_h.diff (merged)
     - Remove debian/patches/any/local-dynamic-resolvconf.diff (merged)
     - Update debian/patches/any/local-libgcc-compat-main.diff
     - Remove debian/patches/any/submitted-confname.h.diff (merged)
     - Remove debian/patches/any/submitted-getent-gshadow.diff (merged)
     - Remove debian/patches/any/submitted-getaddrinfo-nodata.diff (merged)
     - Remove debian/patches/any/submitted-gethostbyname3.diff (merged)
     - Update debian/patches/any/submitted-missing-etc-hosts.diff.
     - Remove debian/patches/arm/cvs-setjmp-longjmp-fpu.diff (merged)
     - Update debian/patches/hppa/cvs-nptl-compat.diff.
     - Update debian/patches/hppa/local-stack-grows-up.diff from
       Carlos O'Donell.
     - Remove debian/patches/hppa/submitted-pie.diff (merged)
     - Remove debian/patches/hppa/submitted-sock_nonblock.diff (merged)
     - Update debian/patches/hurd-i386/cvs-setsid.diff.
     - Remove debian/patches/hurd-i386/cvs-termios-IXANY.patch (merged)
     - Remove debian/patches/hurd-i386/submitted-getnprocs.diff (merged)
     - Update debian/patches/hurd-i386/submitted-readlinkat.diff
     - Remove debian/patches/ia64/cvs-memchr.diff (merged)
     - Remove debian/patches/ia64/submitted-memchr.diff (merged)
     - Remove debian/patches/ia64/submitted-siginfo.diff (merged)
     - Update debian/patches/kfreebsd/local-readdir_r.diff.
     - Remove debian/patches/locale/cvs-C-first_weekday.diff (merged)
     - Update debian/patches/localedata/first_weekday.diff
     - Update debian/patches/localedata/tailor-iso14651_t1.diff
     - Remove debian/patches/mips/local-lazy-eval.diff (obsolete)
     - Remove debian/patches/s390/submitted-siginfo.diff (merged)
     - testsuite-checking/expected-results-ia64-linux-gnu-libc: update
     - Update testsuite-checking/expected-results-sparc-linux-gnu-libc
     - Update testsuite-checking/expected-results-sparcv9b-linux-gnu-sparcv9b
 .
   * Add debian/patches/alpha/local-fcntl_h.diff.
   * Add debian/patches/hppa/local-dlfptr.diff from Carlos O'Donnell.
   * Add debian/patches/localedata/locale-hsb_DE.diff
 .
   [ Aurelien Jarno ]
   * Enable multi-arch.
   * Add debian/patches/kfreebsd/local-syscalls_2.11.patch to add the
     lchflag syscalls on GNU/kFreeBSD.
   * Add debian/patches/alpha/local-longjmp-chk.diff and
     debian/patches/alpha/cvs-timer_settime.diff to fix FTBFS on alpha, and
     debian/patches/alpha/local-lowlevellock.diff to fix the testsuite.
   * Add debian/patches/mips/local-lowlevellock.diff to fix the testsuite
     on mips.
   * Re-enable the testsuite on mips/mipsel build daemons.
   * Add debian/patches/arm/local-atomic.diff and
     debian/patches/arm/local-lowlevellock.diff to fix the testsuite on arm.
   * Add debian/patches/hppa/local-longjmp-chk.diff to fix FTBFS on hppa.
   * Add debian/patches/hppa/local-lowlevellock.diff to fix the testsuite
     on hppa.
   * Add debian/patches/s390/cvs-makecontext.diff from upstream to fix
     makecontext() on s390.
   * Replace debian/patches/submitted/cvs-stat-issock.diff by the upstream patch
     debian/patches/any/cvs-stat-issock.diff.
   * Explictely call /sbin/start-stop-daemon in nscd.init.  Closes: bug#575404.
   * Add debian/patches/any/cvs-getaddrinfo.diff from upstream to not abort
     the getaddrinfo loop on the first successful.
   * Add debian/patches/any/cvs-umount-nofollow.diff from upstream to define
     UMOUNT_NOFOLLOW.
   * Add debian/patches/any/cvs-glob.diff from upstream to fix glob() with empty
     pattern.
   * Add debian/patches/submitted-tst-audit6-avx.diff to skip AVX tests if if
     AVX is not available.
   * Allow failures of the testsuite on HPPA until bugs are fixed:
     - tstdiomisc.out (due to bug #582787 on gcc-4.4)
     - tst-fork1.out (due to bug #561203 on linux-2.6)
   * Add debian/patches/sh4/cvs-register_dump.diff from upstream to fix
     iov[] size register-dump.h.
   * Add debian/patches/hurd-i386/submitted-regex_internal.diff to fix FTBFS on
     hurd-i386.
 .
   [ Samuel Thibault ]
   * debian/patches/hurd-i386/submitted-rtld_lock_recursive.diff: New patch to
     fix elf/ build on hurd-i386.
   * debian/patches/hurd-i386/local-longjmp_chk.diff: New patch to fix
     debug/____longjmp_chk.S build on hurd-i386.
   * Update debian/patches/hurd-i386/local-pthread.diff.
   * Update debian/testsuite-checking/expected-results-i486-gnu-libc.
 .
   [ Petr Salinger]
   * define __rtld_lock_initialize also in linuxthreads <bits/libc-lock.h>
     variant (enhance local-linuxthreads-weak.diff).
   * allow failure of tst-longjmp_chk.out on GNU/kFreeBSD
   * Add kfreebsd/local-dosavesse.diff, which does not work,
     so rather use also added kfreebsd/local-nosavesse.diff
Checksums-Sha1: 
 7a65a7c1e4eedd2fa15807c52e7808200209e627 2759 eglibc_2.11.1-0exp9.dsc
 e15b85bde0bbb4601f50bf4a274ad61eeebae698 22777163 eglibc_2.11.1.orig.tar.gz
 b70c3f3c55d6ee9dbb7b48cae6b130a0ef173a99 791985 eglibc_2.11.1-0exp9.diff.gz
 ced5c98b8d0b078021c5e0a28674b7c41848e984 1841152 glibc-doc_2.11.1-0exp9_all.deb
 ce7994863e873e46dc807baf65fd6227d9473321 11037224 eglibc-source_2.11.1-0exp9_all.deb
 fa7f9ce5b24cdae3d5aee09944ca89bc4a9766ec 4758264 locales_2.11.1-0exp9_all.deb
 615a15657f57cd8d6960eac7588dd316fbff692c 4260212 libc6_2.11.1-0exp9_amd64.deb
 dc90112a9ad04038d2290a6884747693164a4805 2586178 libc6-dev_2.11.1-0exp9_amd64.deb
 300d051aab687ce19e43e531407d0c51af2b9973 2031132 libc6-prof_2.11.1-0exp9_amd64.deb
 d1f1fcd7b85da0ffc8802620ea4febf5a396a739 1543420 libc6-pic_2.11.1-0exp9_amd64.deb
 b9dce863533636b7d820f40028155ca1840e1f06 742158 libc-bin_2.11.1-0exp9_amd64.deb
 a7720036409ff400fee5daa195283475d1dec0fd 204166 libc-dev-bin_2.11.1-0exp9_amd64.deb
 20d320fc776350116a842b581c9d45ecb136d3ea 3697156 locales-all_2.11.1-0exp9_amd64.deb
 43065ae720fac98e7bc969a7c75a80916ef2edac 3799774 libc6-i386_2.11.1-0exp9_amd64.deb
 8fcc73829e6d8e09225fedd0b5e0df4cc9056b20 1518062 libc6-dev-i386_2.11.1-0exp9_amd64.deb
 eab8df6f9bbd7dd6129ff47b3bcb6a8fa372db70 193134 nscd_2.11.1-0exp9_amd64.deb
 9e1501781995008b7c5d6ac27fc9268ca96e19d5 10372170 libc6-dbg_2.11.1-0exp9_amd64.deb
 eeb3f42895846312e86a68a8c16013720e672a2a 1150984 libc6-udeb_2.11.1-0exp9_amd64.udeb
 26b50bfcae9fecc8149de9a29ec6fe73ce26611c 11126 libnss-dns-udeb_2.11.1-0exp9_amd64.udeb
 96fbc575bc6c4588172f717e8240fe402716d06a 19678 libnss-files-udeb_2.11.1-0exp9_amd64.udeb
Checksums-Sha256: 
 bc62bd37366cd3768555ebb7a79b720dd7511a1e9275968f176cd1ca298cefb9 2759 eglibc_2.11.1-0exp9.dsc
 f44324a45d3ee74fc280f6a712cfd6fdc00e421eadd81f80ba9b99651a2836ef 22777163 eglibc_2.11.1.orig.tar.gz
 1df11c35447936d5fa9efea65d6a457eda44a985e67271891885db60de090c4b 791985 eglibc_2.11.1-0exp9.diff.gz
 adc81a7079f4c3a2aa66ebd6ed533620a9092e6b44d98a200f125313d2003880 1841152 glibc-doc_2.11.1-0exp9_all.deb
 6c4d8382f0fc445dd31946575e951a2e0d6153025156990b17eadff6afb7f704 11037224 eglibc-source_2.11.1-0exp9_all.deb
 a6cede14ac785041d4ecd134697f0c7bd0d9aecaac438730202db8a02830c8be 4758264 locales_2.11.1-0exp9_all.deb
 e8c38fbc0e67e056562040fc6b3423ced16c827ba24ab4a2cea666dc3211a342 4260212 libc6_2.11.1-0exp9_amd64.deb
 2f08a65cfca2c3c479246458d6b0888a7eeaf1a15d9a0eee940a4d7a0b9a8697 2586178 libc6-dev_2.11.1-0exp9_amd64.deb
 8b61f8acea72f09e90b666522bbf38c4e791af3cf63b0cb34abcb6c58a4377f9 2031132 libc6-prof_2.11.1-0exp9_amd64.deb
 c093a660e159ed7113056278b1f5cfb7aa9460610a02b184078065712ada1f24 1543420 libc6-pic_2.11.1-0exp9_amd64.deb
 ce50f3c3c3953c615e60a7577df073c5f9f21b6c987435e839175a96da5849a3 742158 libc-bin_2.11.1-0exp9_amd64.deb
 838b7733dac527b724ef3dfae3dedd18f4c06170133bf375a22f64a0d0491a1a 204166 libc-dev-bin_2.11.1-0exp9_amd64.deb
 1724faca8afe1c7bae06dcad7d836efb7c3a3987d4314888b143f404b508fba5 3697156 locales-all_2.11.1-0exp9_amd64.deb
 78272bfaa2798a89f13b408e8e4cecc8b5dd9031549b2d348fea323f3731c486 3799774 libc6-i386_2.11.1-0exp9_amd64.deb
 364f0a5f60a0217bea13eb2b92b0ead7494ffce3bb4bf6591af8c850695ed04a 1518062 libc6-dev-i386_2.11.1-0exp9_amd64.deb
 1970a336b78de6d2b1385524a665bc60dac7ce6cc275b510499c87f958520b99 193134 nscd_2.11.1-0exp9_amd64.deb
 01030f76449b402c57de0569c0d21514a3d268e7b16c41d65b3c9b4f4f49488a 10372170 libc6-dbg_2.11.1-0exp9_amd64.deb
 bd943dace20b3972bd4d75d6edf5fd3264f781b0550e0b214ceb981919b56c6c 1150984 libc6-udeb_2.11.1-0exp9_amd64.udeb
 85338eadca106a457d0ae9841bf784853606c4a3e45673af02e6a26b3d24176c 11126 libnss-dns-udeb_2.11.1-0exp9_amd64.udeb
 d40ee90168449d903ad037f947ec9932107e77abf4dbc980e864d71b138560f4 19678 libnss-files-udeb_2.11.1-0exp9_amd64.udeb
Files: 
 57d5cd0e858de27b461bb56d22aa977f 2759 libs required eglibc_2.11.1-0exp9.dsc
 641ca486aa98142b43d3664d6fae3d7c 22777163 libs required eglibc_2.11.1.orig.tar.gz
 00e76617db6e3d766c6511617ef54bde 791985 libs required eglibc_2.11.1-0exp9.diff.gz
 d181f234ed88cd1b79baa353b0b284b8 1841152 doc optional glibc-doc_2.11.1-0exp9_all.deb
 d3bf449a6f1649a89605d37c5a689692 11037224 devel optional eglibc-source_2.11.1-0exp9_all.deb
 0ad350ef0e804d1bff1c0c45c9ed28f1 4758264 localization standard locales_2.11.1-0exp9_all.deb
 041f8815a75c8bd1daed64fa412193f5 4260212 libs required libc6_2.11.1-0exp9_amd64.deb
 d248fb358f779a48745a90d10e143246 2586178 libdevel optional libc6-dev_2.11.1-0exp9_amd64.deb
 cdc044e95899c5d3796056837b63d019 2031132 libdevel extra libc6-prof_2.11.1-0exp9_amd64.deb
 e50cd70ba1dcf87bd9391fb9fb3a78cf 1543420 libdevel optional libc6-pic_2.11.1-0exp9_amd64.deb
 3974915f1e4729970b7d1f24435c8a74 742158 libs required libc-bin_2.11.1-0exp9_amd64.deb
 bd99545423abeeac7159351f85eea698 204166 libdevel optional libc-dev-bin_2.11.1-0exp9_amd64.deb
 ce3f8b152f621ea2a94f613f8272a3c9 3697156 localization extra locales-all_2.11.1-0exp9_amd64.deb
 b5bd2ec454fda04d4f91c116bb9b0046 3799774 libs optional libc6-i386_2.11.1-0exp9_amd64.deb
 59f74f5cc8d71142e265803a4e0c1de4 1518062 libdevel optional libc6-dev-i386_2.11.1-0exp9_amd64.deb
 41d0d7bbaedaffeefb1045fdab3fb6ce 193134 admin optional nscd_2.11.1-0exp9_amd64.deb
 2fc7082ada20fd39fd0a49e66fd1d671 10372170 debug extra libc6-dbg_2.11.1-0exp9_amd64.deb
 0af776aa920d918962574237f9e5a285 1150984 debian-installer extra libc6-udeb_2.11.1-0exp9_amd64.udeb
 603d81ce911779d2878aec569e95a35b 11126 debian-installer extra libnss-dns-udeb_2.11.1-0exp9_amd64.udeb
 686927cace9d221b6ac473a01951e465 19678 debian-installer extra libnss-files-udeb_2.11.1-0exp9_amd64.udeb
Package-Type: udeb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iD8DBQFL/XzZw3ao2vG823MRApAKAJ9Et7nwQJ0Py5CD20HrT5pRKLqC4ACeLs4G
c6t58Zbzdr5t+5SYaRPaa9A=
=kl7T
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: