GNU C Library master sources branch, fedora/2.12/master, updated. glibc-2.12.2-730-g3d5a26b

schwab@sourceware.org schwab@sourceware.org
Mon Dec 13 15:08:00 GMT 2010


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, fedora/2.12/master has been updated
       via  3d5a26bd7d30003912b09959f831bea2e2414af1 (commit)
       via  ac07dac47a60256cc1b4dc90cdda5c832bdc28c8 (commit)
       via  d14e6b09d60d52cc12f0396c3106b14e1bd0fe8f (commit)
       via  3a33e487eeb65e2f1f633581c56bee2c60d0ca43 (commit)
       via  a8f09f4347b9496b6b838211e82f596d13304044 (commit)
       via  255eab5f5ef8fec5187f4a611a89cc28f0ed7d1b (commit)
       via  92111c633273b228bbce9564108a50499435c5ee (commit)
       via  04d5ab182b780d12092711627ceac464b711bb00 (commit)
       via  9796df9ff2bc74bbb2bbce62628eb50265a5aa78 (commit)
       via  cfe71f9619829d0f71d29580dced96e2bfab6883 (commit)
       via  745cb72f04667f7551e86e87fffd08bb316aae13 (commit)
       via  5657e17a40c738f6dbd675abc3dd666256fddc16 (commit)
       via  1489c92cf2192242fc7390ef020acde8922b384d (commit)
       via  c86e42c53fc42195d2ed5926dbc4c8ce25bfa8fd (commit)
       via  a5030ca9dc3e9451b3d364faed4b26dda4b82f7e (commit)
       via  dcb52a4a9c67c5e4a26688e599dcb33b40eb14a4 (commit)
       via  66c60fc87d9f291d9283bec674ab9fa01e21483d (commit)
       via  9ed213c6ce86f43e7116c1d7aff6f91652d7caa2 (commit)
       via  647691a92f668eb3882ad8fd97b3766a52de61df (commit)
       via  d1d5508011bfbd594f4d1c61d20b0ab9fb1bdc1d (commit)
       via  24990266ba20fcff9fe4f08646350fdece96f27a (commit)
       via  482d2a54b9709e15e254dff5670f3f3fe60ccfa0 (commit)
       via  1802b016e7ccc88878e62b27d566563e3c4e93d3 (commit)
       via  8cef0b4a129dba0b4cc93073b423cca270ed9cbb (commit)
       via  f925c225e4c523c00decc78ad023feb29c533d84 (commit)
       via  4838fdcfdc95f0dacda6463c2dd81d11ee9e0414 (commit)
       via  de2ef7733cb48305e5955ee601cd1d168b27c017 (commit)
       via  9959526a475c6d965417ec33e45b4a52c4509bfd (commit)
       via  08031ce5e3fc7637027200513e451f330e57ac8c (commit)
       via  00b4cc7aefcebb3d36532c5f3ea245737b67c561 (commit)
       via  63ed86a37f94af5599d93813cc22be7be23f016a (commit)
       via  e939403de10e923627043a795051b63ad46e5168 (commit)
       via  e389efdffdcafae116ce8155276d97469e759891 (commit)
       via  4279c4fbbb83f19ef96d64f4d5c56d329d33a25a (commit)
       via  0430b37c1b39f8df10e3436f329c41589e2b30ca (commit)
       via  5fc312669aba0b493d79989ddd64b425f43d3c88 (commit)
       via  12ba2c9c8c0f134056fc5aae60682aac2510fe13 (commit)
       via  5e6ce90dbd3894069c32bb09ccfd5ac265f3f1b1 (commit)
       via  ac25f45efaf8123d5474686108d580aac4bc14ff (commit)
       via  a0ad547936d671e7dffe53fb119f9066c351a30a (commit)
       via  2a6164985436568518d000943785b010de317280 (commit)
       via  3c67580663fa170cfc3da96dc1bb9203758ff99e (commit)
       via  b41a2ff361d4d1ade2bac91d75e6150a66d3148e (commit)
       via  74c7603d2b37fd017421777b65fa65d219e6d869 (commit)
       via  85e2eb84346b1becfcb9d0e3c2a014d7a5dd8f12 (commit)
       via  e7c44f822fcf6dedf0a9d357d742ad2d8e8d943c (commit)
       via  f844fe667e5b2dd79735ac5730ee75cd574c9674 (commit)
       via  36f5b87d0e54ffb3efa3ebec86a77bc89b1b98f7 (commit)
       via  a182ec598f54bb75ac96a34a79103bc902326ac6 (commit)
       via  2be1c3e6f3dfd2e5d9f377ac9f279d2c3a378516 (commit)
       via  57f69e95c9f89073d0bbc278670c94061d69c7a0 (commit)
       via  e7ce843098311452463e2f2faa6be485551d3b87 (commit)
       via  351b71fe632c6d4ff62bceb3be16405163021dcd (commit)
       via  b2b0cefb29fbe6458cca4d2e6fd4e5afa7b5ca57 (commit)
       via  61219b9f6aee750f0b767969e79eeaa3ab562c7b (commit)
       via  8fb349ce448e7cda101f8640887682528061e702 (commit)
       via  5303a97bbff253ecd619dc5538225d1cd6c32982 (commit)
       via  db1bf3f3faf32a13fd38c3c395eaa95400249bd6 (commit)
       via  5268b1935686d102df4767e08a0135f7b4add353 (commit)
       via  230f03954fc437897ca3f1926462d8b43b80c375 (commit)
       via  b200942785ca025f73c3153ccdac7dec5b40656c (commit)
       via  edf2704cf81cb829dea2a011cdc424024eba088b (commit)
       via  d8a3c98ac750b7dfd146ecfee2489164d98c4d65 (commit)
       via  be75fb29ec9f1d7dfc2e91b74b5ffefeaaa9aeb6 (commit)
       via  173ab210e3f2a776c6de3a31533c6af50a275f57 (commit)
       via  9f51ea274f3166989a24629ef43c3d1b273ac56a (commit)
      from  7393ab587b51d462a3c046d10cd6af7de0f9be96 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=3d5a26bd7d30003912b09959f831bea2e2414af1

commit 3d5a26bd7d30003912b09959f831bea2e2414af1
Author: Andreas Schwab <schwab@redhat.com>
Date:   Mon Dec 13 12:56:07 2010 +0100

    2.12.2-1

diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index 29f6ca8..9f92cc7 100644
--- a/fedora/glibc.spec.in
+++ b/fedora/glibc.spec.in
@@ -20,7 +20,7 @@
 Summary: The GNU libc libraries
 Name: glibc
 Version: %{glibcversion}
-Release: 4
+Release: 1
 # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
 # Things that are linked directly into dynamically linked programs
 # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
@@ -1028,6 +1028,46 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Mon Dec 13 2010 Andreas Schwab <schwab@redhat.com> - 2.12.2-1
+- Update to 2.12.2 release
+  - Declare wcpcpy and wcpncpy only under _GNU_SOURCE
+  - Fix use of restrict in wchar.h and string.h
+  - Fix race in qsort_r initialization (BZ#11655)
+  - Fix IPTOS_CLASS definition (BZ#11903)
+  - Don't ignore zero TTL in DNS answers
+  - Fix x86 pthread_cond_signal() FUTEX_WAKE_OP fallback
+  - Work around kernel rejecting valid absolute timestamps
+  - Allow aux_cache_file open()ing to fail silently even in the chroot
+    mode (BZ#11149)
+  - Fix multiple nss_compat initgroups() bugs (BZ#10085)
+  - Properly convert f_fsid in statvfs (BZ#11611)
+  - Define MAP_HUGETLB and SWAP_FLAG_DISCARD
+  - Avoid too much stack use in fnmatch (BZ#11883)
+  - Fix comparison in sqrtl for IBM long double 128
+  - Fix warnings in __bswap_16 (BZ#12194)
+  - Properly quote output of locale (BZ#11904)
+  - Fix perturbing in malloc on free (BZ#12140)
+  - Don't expand DST twice in dl_open
+  - Fix memory leak for some invalid regular expressions (BZ#12078)
+  - Linux getifaddrs might return entries with ->ifa_addr being NULL
+    (BZ#12093)
+  - Handle large malloc requests (BZ#12005)
+  - getdents64 fallback d_type support
+  - Fix register conflict in s390 ____longjmp_chk
+  - Fix _FORITY_SOURCE version of longjmp for Linux/x86-64 (BZ#11968)
+  - Fix array overflow in floating point parser (BZ#7066)
+  - Missing server address again leads to localhost being used (BZ#10851)
+  - Document M_PERTURB
+  - Fix vDSO synthetic hwcap handling so they are not masked out from
+    ld.so.cache matching
+  - 32bit memset-sse2.S fails with uneven cache size (BZ#12191)
+  - Verify in ttyname() that the symlink is valid (BZ#12167)
+  - Fix concurrency problem between dl_open and dl_iterate_phdr
+  - Fix x86-64 strchr propagation of search byte into all bytes of SSE
+    register (BZ#12159)
+  - Fix alignment of AVX safe area on x86-64 (BZ#12113, #643889)
+- Don't ignore $ORIGIN in libraries
+
 * Fri Oct 22 2010 Andreas Schwab <schwab@redhat.com> - 2.12.1-4
 - Require suid bit on audit objects in privileged programs (CVE-2010-3856)
 

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=ac07dac47a60256cc1b4dc90cdda5c832bdc28c8

commit ac07dac47a60256cc1b4dc90cdda5c832bdc28c8
Merge: d14e6b0 3a33e48
Author: Andreas Schwab <schwab@redhat.com>
Date:   Mon Dec 13 12:35:46 2010 +0100

    Merge commit 'glibc-2.12.2' into fedora/2.12/master

diff --cc ChangeLog
index b882520,afd9059..0b401f4
--- a/ChangeLog
+++ b/ChangeLog
@@@ -18,6 -329,6 +329,11 @@@
  	(do_preload): Use __RTLD_SECURE instead of is_preloaded.
  	(dlmopen_doit): Add __RTLD_SECURE to mode bits.
  
++2010-12-13  Andreas Schwab  <schwab@redhat.com>
++
++	* elf/dl-object.c (_dl_new_object): Ignore origin of privileged
++	program.
++
  2010-10-06  Ulrich Drepper  <drepper@gmail.com>
  
  	* string/bug-strstr1.c: New file.
diff --cc malloc/mcheck.c
index 2821006,e2eb83f..01394ac
--- a/malloc/mcheck.c
+++ b/malloc/mcheck.c
@@@ -24,25 -25,10 +25,26 @@@
  # include <mcheck.h>
  # include <stdint.h>
  # include <stdio.h>
 +# include <stdlib.h>
  # include <libintl.h>
+ # include <errno.h>
  #endif
  
 +#ifdef _LIBC
 +extern __typeof (malloc) __libc_malloc;
 +extern __typeof (free) __libc_free;
 +extern __typeof (realloc) __libc_realloc;
 +libc_hidden_proto (__libc_malloc)
 +libc_hidden_proto (__libc_realloc)
 +libc_hidden_proto (__libc_free)
 +libc_hidden_proto (__libc_memalign)
 +#else
 +# define __libc_malloc(sz) malloc (sz)
 +# define __libc_free(ptr) free (ptr)
 +# define __libc_realloc(ptr, sz) realloc (ptr, sz)
 +# define __libc_memalign(al, sz) memalign (al, sz)
 +#endif
 +
  /* Old hook values.  */
  static void (*old_free_hook) (__ptr_t ptr, __const __ptr_t);
  static __ptr_t (*old_malloc_hook) (__malloc_size_t size, const __ptr_t);

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d14e6b09d60d52cc12f0396c3106b14e1bd0fe8f

commit d14e6b09d60d52cc12f0396c3106b14e1bd0fe8f
Author: Andreas Schwab <schwab@redhat.com>
Date:   Thu Dec 9 15:00:59 2010 +0100

    Ignore origin of privileged program

diff --git a/ChangeLog b/ChangeLog
index 24ef9e1..b882520 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-12-13  Andreas Schwab  <schwab@redhat.com>
+
+	* elf/dl-object.c (_dl_new_object): Ignore origin of privileged
+	program.
+
 2010-10-22  Andreas Schwab  <schwab@redhat.com>
 
 	* include/dlfcn.h (__RTLD_SECURE): Define.
diff --git a/elf/dl-object.c b/elf/dl-object.c
index 22a1635..7674d49 100644
--- a/elf/dl-object.c
+++ b/elf/dl-object.c
@@ -214,6 +214,9 @@ _dl_new_object (char *realname, const char *libname, int type,
     out:
       new->l_origin = origin;
     }
+  else if (INTUSE(__libc_enable_secure) && type == lt_executable)
+    /* The origin of a privileged program cannot be trusted.  */
+    new->l_origin = (char *) -1;
 
   return new;
 }

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=cfe71f9619829d0f71d29580dced96e2bfab6883

commit cfe71f9619829d0f71d29580dced96e2bfab6883
Author: Andreas Schwab <schwab@redhat.com>
Date:   Thu Dec 9 14:36:55 2010 +0100

    Revert "Never expand $ORIGIN in privileged programs"
    
    This reverts commit 2232b90f0bd3a41b4d63cac98a5b60abbfaccd46.

diff --git a/ChangeLog b/ChangeLog
index 514254a..24ef9e1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -13,12 +13,6 @@
 	(do_preload): Use __RTLD_SECURE instead of is_preloaded.
 	(dlmopen_doit): Add __RTLD_SECURE to mode bits.
 
-2010-10-18  Andreas Schwab  <schwab@redhat.com>
-
-	* elf/dl-load.c (is_dst): Remove last parameter.
-	(_dl_dst_count): Ignore $ORIGIN in privileged programs.
-	(_dl_dst_substitute): Likewise.
-
 2010-10-06  Ulrich Drepper  <drepper@gmail.com>
 
 	* string/bug-strstr1.c: New file.
diff --git a/elf/dl-load.c b/elf/dl-load.c
index efdf59b..a92816a 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -169,7 +169,8 @@ local_strdup (const char *s)
 
 
 static size_t
-is_dst (const char *start, const char *name, const char *str, int is_path)
+is_dst (const char *start, const char *name, const char *str,
+	int is_path, int secure)
 {
   size_t len;
   bool is_curly = false;
@@ -198,6 +199,11 @@ is_dst (const char *start, const char *name, const char *str, int is_path)
 	   && (!is_path || name[len] != ':'))
     return 0;
 
+  if (__builtin_expect (secure, 0)
+      && ((name[len] != '\0' && (!is_path || name[len] != ':'))
+	  || (name != start + 1 && (!is_path || name[-2] != ':'))))
+    return 0;
+
   return len;
 }
 
@@ -212,12 +218,13 @@ _dl_dst_count (const char *name, int is_path)
     {
       size_t len;
 
-      /* $ORIGIN is not expanded for SUID/GUID programs.  */
+      /* $ORIGIN is not expanded for SUID/GUID programs (except if it
+	 is $ORIGIN alone) and it must always appear first in path.  */
       ++name;
-      if (((len = is_dst (start, name, "ORIGIN", is_path)) != 0
-	   && !INTUSE(__libc_enable_secure))
-	  || (len = is_dst (start, name, "PLATFORM", is_path)) != 0
-	  || (len = is_dst (start, name, "LIB", is_path)) != 0)
+      if ((len = is_dst (start, name, "ORIGIN", is_path,
+			 INTUSE(__libc_enable_secure))) != 0
+	  || (len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0
+	  || (len = is_dst (start, name, "LIB", is_path, 0)) != 0)
 	++cnt;
 
       name = strchr (name + len, '$');
@@ -249,12 +256,9 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result,
 	  size_t len;
 
 	  ++name;
-	  if ((len = is_dst (start, name, "ORIGIN", is_path)) != 0)
+	  if ((len = is_dst (start, name, "ORIGIN", is_path,
+			     INTUSE(__libc_enable_secure))) != 0)
 	    {
-	      /* Ignore this path element in SUID/SGID programs.  */
-	      if (INTUSE(__libc_enable_secure))
-		repl = (const char *) -1;
-	      else
 #ifndef SHARED
 	      if (l == NULL)
 		repl = _dl_get_origin ();
@@ -262,9 +266,9 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result,
 #endif
 		repl = l->l_origin;
 	    }
-	  else if ((len = is_dst (start, name, "PLATFORM", is_path)) != 0)
+	  else if ((len = is_dst (start, name, "PLATFORM", is_path, 0)) != 0)
 	    repl = GLRO(dl_platform);
-	  else if ((len = is_dst (start, name, "LIB", is_path)) != 0)
+	  else if ((len = is_dst (start, name, "LIB", is_path, 0)) != 0)
 	    repl = DL_DST_LIB;
 
 	  if (repl != NULL && repl != (const char *) -1)

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |  325 +++++++++++++++++++-
 ChangeLog.17                                       |    7 -
 INSTALL                                            |    6 +-
 Makeconfig                                         |    8 +-
 NEWS                                               |   16 +-
 config.make.in                                     |    2 +-
 configure                                          |  310 +++++++++----------
 configure.in                                       |  204 ++++++-------
 elf/dl-load.c                                      |   58 ++--
 elf/dl-object.c                                    |   59 ++--
 elf/dl-open.c                                      |   29 --
 elf/dl-sysdep.c                                    |    5 +
 elf/ldconfig.c                                     |   12 +-
 elf/rtld-Rules                                     |   13 +-
 elf/rtld.c                                         |   11 +-
 fedora/glibc.spec.in                               |   42 +++-
 hurd/hurd/fd.h                                     |    5 +-
 hurd/hurdselect.c                                  |    2 +-
 hurd/lookup-at.c                                   |    6 +
 locale/programs/locale.c                           |   37 ++-
 malloc/malloc.c                                    |    4 +-
 malloc/mcheck.c                                    |   22 ++-
 manual/Makefile                                    |    5 +-
 manual/arith.texi                                  |    3 +-
 manual/locale.texi                                 |    2 +-
 manual/memory.texi                                 |    5 +
 nis/nss_compat/compat-initgroups.c                 |   19 +-
 nptl/ChangeLog                                     |   54 +++-
 nptl/Makefile                                      |    4 +-
 nptl/sysdeps/unix/sysv/linux/i386/Makefile         |    3 +
 .../unix/sysv/linux/i386/i486/lowlevellock.S       |    8 +-
 .../sysv/linux/i386/i486/pthread_cond_signal.S     |    3 +-
 nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S |    9 +-
 .../unix/sysv/linux/x86_64/lowlevelrobustlock.S    |    9 +-
 .../sysv/linux/x86_64/pthread_cond_timedwait.S     |    6 +-
 .../sysv/linux/x86_64/pthread_rwlock_timedrdlock.S |    5 +-
 .../sysv/linux/x86_64/pthread_rwlock_timedwrlock.S |    5 +-
 .../sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S |   18 +-
 nptl/sysdeps/x86_64/pthreaddef.h                   |    5 +-
 nptl/sysdeps/x86_64/tls.h                          |    7 +-
 nptl/tst-abstime.c                                 |   98 ++++++
 posix/Makefile                                     |   20 +-
 posix/bug-regex31.c                                |   36 +++
 posix/bug-regex31.input                            |    4 +
 posix/fnmatch.c                                    |   57 +++-
 posix/fnmatch_loop.c                               |  130 +++++---
 posix/regcomp.c                                    |   19 +-
 posix/tst-fnmatch.c                                |    5 +-
 resolv/nss_dns/dns-host.c                          |    7 +-
 resolv/res_init.c                                  |   53 ++--
 ...linux-gnu.data => localplt-s390-linux-gnu.data} |    0
 ...inux-gnu.data => localplt-s390x-linux-gnu.data} |    0
 stdlib/msort.c                                     |    6 +-
 stdlib/strtod_l.c                                  |    4 +-
 string/Makefile                                    |    2 +-
 string/bits/string3.h                              |    8 +-
 string/bug-strchr1.c                               |   14 +
 sysdeps/generic/ldsodefs.h                         |    7 +-
 sysdeps/generic/netinet/ip.h                       |    5 +-
 sysdeps/i386/bits/byteswap.h                       |   15 +-
 sysdeps/i386/elf/Makefile                          |    4 +
 sysdeps/i386/i686/cacheinfo.c                      |    4 +
 sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c              |    4 +-
 sysdeps/mach/hurd/linkat.c                         |    6 +-
 sysdeps/s390/s390-32/__longjmp.c                   |   13 +-
 sysdeps/s390/s390-64/__longjmp.c                   |   13 +-
 sysdeps/unix/sysv/linux/check_pf.c                 |   13 +-
 sysdeps/unix/sysv/linux/getdents.c                 |    6 +-
 sysdeps/unix/sysv/linux/i386/bits/mman.h           |    4 +-
 sysdeps/unix/sysv/linux/internal_statvfs.c         |    3 +-
 sysdeps/unix/sysv/linux/sparc/sys/epoll.h          |    9 +-
 sysdeps/unix/sysv/linux/sys/swap.h                 |    3 +-
 sysdeps/unix/sysv/linux/ttyname.c                  |   33 ++-
 sysdeps/unix/sysv/linux/ttyname_r.c                |   32 ++-
 sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S   |   26 +-
 sysdeps/unix/sysv/linux/x86_64/bits/mman.h         |    3 +-
 sysdeps/unix/sysv/linux/x86_64/sys/epoll.h         |    4 +-
 sysdeps/x86_64/bits/byteswap.h                     |   29 +-
 sysdeps/x86_64/cacheinfo.c                         |   20 +-
 sysdeps/x86_64/multiarch/strchr.S                  |    4 +-
 version.h                                          |    2 +-
 wcsmbs/bits/wchar2.h                               |   44 ++--
 wcsmbs/wchar.h                                     |    8 +-
 83 files changed, 1474 insertions(+), 656 deletions(-)
 create mode 100644 nptl/sysdeps/unix/sysv/linux/i386/Makefile
 create mode 100644 nptl/tst-abstime.c
 create mode 100644 posix/bug-regex31.c
 create mode 100644 posix/bug-regex31.input
 copy scripts/data/{localplt-i386-linux-gnu.data => localplt-s390-linux-gnu.data} (100%)
 copy scripts/data/{localplt-i386-linux-gnu.data => localplt-s390x-linux-gnu.data} (100%)
 create mode 100644 string/bug-strchr1.c
 create mode 100644 sysdeps/i386/elf/Makefile


hooks/post-receive
-- 
GNU C Library master sources



More information about the Glibc-cvs mailing list