GNU C Library master sources branch, fedora/master, updated. fedora/glibc-2.12.90-6-169-gf3ebe00

schwab@sourceware.org schwab@sourceware.org
Tue Oct 19 11:49: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/master has been updated
       via  f3ebe0079fe16c85fcf4199c90a777c6e568329e (commit)
       via  e7089f4c1aa1c10d27b99fdf0010359d15858fc5 (commit)
       via  4b646a51f13fd6816c483fb24c308a13264c6d1a (commit)
       via  7c08a05c5f4f86f9e249c2554b1628da0f812364 (commit)
       via  3e692e0518b4f4679352d25102bd47cf3f85c592 (commit)
       via  f3f7372de1401b99f0a318ce09caf73e42d6f022 (commit)
       via  14d43591face21dbd4d51b5c46fa3c17740ddc78 (commit)
      from  cc153e23ba13081a78fa580c2199f0fa9d867270 (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=f3ebe0079fe16c85fcf4199c90a777c6e568329e

commit f3ebe0079fe16c85fcf4199c90a777c6e568329e
Author: Andreas Schwab <schwab@redhat.com>
Date:   Tue Oct 19 11:45:40 2010 +0200

    2.12.90-17

diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index 392cef6..5f22045 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: 16
+Release: 17
 # 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
@@ -1020,6 +1020,12 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Tue Oct 19 2010 Andreas Schwab <schwab@redhat.com> - 2.12.90-17
+- Update from master
+  - Fix some fma issues, implement fmal (BZ#3268, #43358)
+  - Expect PLT call to _Unwind_Find_FDE on s390*-linux
+- Never expand $ORIGIN in privileged programs (#643306, CVE-2010-3847)
+
 * Thu Oct 14 2010 Andreas Schwab <schwab@redhat.com> - 2.12.90-16
 - Update from master
   - Implement accurate fma (BZ#3268, #43358)

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

commit e7089f4c1aa1c10d27b99fdf0010359d15858fc5
Merge: 4b646a5 7c08a05
Author: Andreas Schwab <schwab@redhat.com>
Date:   Tue Oct 19 11:30:49 2010 +0200

    Merge remote branch 'origin/master' into fedora/master

diff --cc ChangeLog
index 91a854e,aafc454..6c86a1a
--- a/ChangeLog
+++ b/ChangeLog
@@@ -1,9 -1,23 +1,29 @@@
+ 2010-10-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	[BZ #3268]
+ 	* math/libm-test.inc (fma_test): Add IEEE quad long double fmal tests.
+ 	* sysdeps/ieee754/ldbl-128/s_fmal.c (__fmal): Ensure a1 + u.d
+ 	computation is not scheduled after fetestexcept.  Fix value
+ 	of minimum denormal long double.
+ 
+ 2010-10-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	[BZ #3268]
+ 	* math/libm-test.inc (fma_test): Add some more tests.
+ 	* sysdeps/ieee754/dbl-64/s_fma.c (__fma): Handle underflows
+ 	correctly.
+ 
+ 2010-10-15  Andreas Schwab  <schwab@redhat.com>
+ 
+ 	* scripts/data/localplt-s390-linux-gnu.data: New file.
+ 	* scripts/data/localplt-s390x-linux-gnu.data: New file.
+ 
 +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-13  Jakub Jelinek  <jakub@redhat.com>
  
  	[BZ #3268]

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

commit 4b646a51f13fd6816c483fb24c308a13264c6d1a
Author: Andreas Schwab <schwab@redhat.com>
Date:   Mon Oct 18 11:46:00 2010 +0200

    Never expand $ORIGIN in privileged programs

diff --git a/ChangeLog b/ChangeLog
index e3d8dd4..91a854e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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-13  Jakub Jelinek  <jakub@redhat.com>
 
 	[BZ #3268]
diff --git a/elf/dl-load.c b/elf/dl-load.c
index a7162eb..776f7e4 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -169,8 +169,7 @@ local_strdup (const char *s)
 
 
 static size_t
-is_dst (const char *start, const char *name, const char *str,
-	int is_path, int secure)
+is_dst (const char *start, const char *name, const char *str, int is_path)
 {
   size_t len;
   bool is_curly = false;
@@ -199,11 +198,6 @@ is_dst (const char *start, const char *name, const char *str,
 	   && (!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;
 }
 
@@ -218,13 +212,12 @@ _dl_dst_count (const char *name, int is_path)
     {
       size_t len;
 
-      /* $ORIGIN is not expanded for SUID/GUID programs (except if it
-	 is $ORIGIN alone) and it must always appear first in path.  */
+      /* $ORIGIN is not expanded for SUID/GUID programs.  */
       ++name;
-      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)
+      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)
 	++cnt;
 
       name = strchr (name + len, '$');
@@ -256,9 +249,12 @@ _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,
-			     INTUSE(__libc_enable_secure))) != 0)
+	  if ((len = is_dst (start, name, "ORIGIN", is_path)) != 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 ();
@@ -266,9 +262,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)) != 0)
+	  else if ((len = is_dst (start, name, "PLATFORM", is_path)) != 0)
 	    repl = GLRO(dl_platform);
-	  else if ((len = is_dst (start, name, "LIB", is_path, 0)) != 0)
+	  else if ((len = is_dst (start, name, "LIB", is_path)) != 0)
 	    repl = DL_DST_LIB;
 
 	  if (repl != NULL && repl != (const char *) -1)

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

Summary of changes:
 ChangeLog                                          |   26 +++
 elf/dl-load.c                                      |   30 ++--
 fedora/glibc.spec.in                               |    8 +-
 math/libm-test.inc                                 |   50 +++++
 ...linux-gnu.data => localplt-s390-linux-gnu.data} |    0
 ...inux-gnu.data => localplt-s390x-linux-gnu.data} |    0
 sysdeps/i386/fpu/s_fma.S                           |   31 ---
 sysdeps/i386/fpu/s_fmaf.S                          |   31 ---
 sysdeps/i386/fpu/s_fmal.S                          |   32 ---
 sysdeps/ieee754/dbl-64/s_fma.c                     |  111 +++++++++--
 sysdeps/ieee754/ldbl-128/s_fmal.c                  |  223 ++++++++++++++++++++
 sysdeps/ieee754/{ldbl-opt => ldbl-64-128}/s_fmal.c |    2 +-
 sysdeps/ieee754/ldbl-96/s_fma.c                    |   15 +-
 sysdeps/ieee754/ldbl-96/s_fmal.c                   |  221 +++++++++++++++++++
 14 files changed, 649 insertions(+), 131 deletions(-)
 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%)
 delete mode 100644 sysdeps/i386/fpu/s_fma.S
 delete mode 100644 sysdeps/i386/fpu/s_fmaf.S
 delete mode 100644 sysdeps/i386/fpu/s_fmal.S
 create mode 100644 sysdeps/ieee754/ldbl-128/s_fmal.c
 copy sysdeps/ieee754/{ldbl-opt => ldbl-64-128}/s_fmal.c (70%)
 create mode 100644 sysdeps/ieee754/ldbl-96/s_fmal.c


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



More information about the Glibc-cvs mailing list