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

Bug#788999: marked as done (pthread_mutex_trylock on x86 with lock elision is broken)



Your message dated Sat, 29 Aug 2015 15:47:06 +0000
with message-id <E1ZViLS-0007ti-Ky@franck.debian.org>
and subject line Bug#788999: fixed in glibc 2.19-18+deb8u1
has caused the Debian Bug report #788999,
regarding pthread_mutex_trylock on x86 with lock elision is broken
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.)


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

The released version of glibc in jessie incorrectly returns a failure
from pthread_mutex_destroy when pthread_mutex_trylock is used on my
machine (which is amd64). It might only happen on hardware with lock
elision support. The upstream patch at
https://sourceware.org/ml/libc-alpha/2014-12/msg00228.html fixes the
problem.

The sysdeps/unix/sysv/linux/x86/force-elision.h file in the patch is
named nptl/sysdeps/unix/sysv/linux/x86/force-elision.h in Debian's
version and the sysdeps/unix/sysv/linux/s390/force-elision.h file
doesn't exist.

Here's a simple test program which demonstrates the problem:
#include <pthread.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>

int main() {
  pthread_mutex_t mutex;
  assert(pthread_mutex_init(&mutex, NULL) == 0);
  assert(pthread_mutex_trylock(&mutex) == 0);
  assert(pthread_mutex_unlock(&mutex) == 0);
  const int result = pthread_mutex_destroy(&mutex);
  if (result == 0) {
    printf("Looks good\n");
  } else {
    printf("Bug!\n");
  }
}

It prints "Bug!" with unpatched libc6 2.19-18 and "Looks good" once I
install a version with the patch applied.

I think https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=759197 has
the same root cause.

Thanks,
Brian Silverman

--- End Message ---
--- Begin Message ---
Source: glibc
Source-Version: 2.19-18+deb8u1

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

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 788999@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 glibc 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@ftp-master.debian.org)


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

Format: 1.8
Date: Sat, 29 Aug 2015 10:56:31 +0200
Source: glibc
Binary: libc-bin libc-dev-bin glibc-doc glibc-source locales locales-all nscd multiarch-support libc6 libc6-dev libc6-dbg libc6-pic libc6-udeb libc6.1 libc6.1-dev libc6.1-dbg libc6.1-pic libc6.1-udeb libc0.3 libc0.3-dev libc0.3-dbg libc0.3-pic libc0.3-udeb libc0.1 libc0.1-dev libc0.1-dbg libc0.1-pic libc0.1-udeb libc6-i386 libc6-dev-i386 libc6-sparc libc6-dev-sparc libc6-sparc64 libc6-dev-sparc64 libc6-s390 libc6-dev-s390 libc6-amd64 libc6-dev-amd64 libc6-powerpc libc6-dev-powerpc libc6-ppc64 libc6-dev-ppc64 libc6-mips32 libc6-dev-mips32 libc6-mipsn32 libc6-dev-mipsn32 libc6-mips64 libc6-dev-mips64 libc0.1-i386 libc0.1-dev-i386 libc6-x32 libc6-dev-x32 libc6-i686 libc6-xen libc0.1-i686 libc0.3-i686 libc0.3-xen libc6.1-alphaev67 libc6-loongson2f libnss-dns-udeb libnss-files-udeb
Architecture: source all amd64
Version: 2.19-18+deb8u1
Distribution: stable
Urgency: medium
Maintainer: Aurelien Jarno <aurel32@debian.org>
Changed-By: Aurelien Jarno <aurel32@debian.org>
Description:
 glibc-doc  - GNU C Library: Documentation
 glibc-source - GNU C Library: sources
 libc-bin   - GNU C Library: Binaries
 libc-dev-bin - GNU C Library: Development binaries
 libc0.1    - GNU C Library: Shared libraries
 libc0.1-dbg - GNU C Library: detached debugging symbols
 libc0.1-dev - 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 - GNU C Library: PIC archive library
 libc0.1-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc0.3    - GNU C Library: Shared libraries
 libc0.3-dbg - GNU C Library: detached debugging symbols
 libc0.3-dev - GNU C Library: Development Libraries and Header Files
 libc0.3-i686 - GNU C Library: Shared libraries [i686 optimized]
 libc0.3-pic - GNU C Library: PIC archive library
 libc0.3-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc0.3-xen - GNU C Library: Shared libraries [Xen version]
 libc6      - GNU C Library: Shared libraries
 libc6-amd64 - GNU C Library: 64bit Shared libraries for AMD64
 libc6-dbg  - GNU C Library: detached debugging symbols
 libc6-dev  - 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-mips32 - GNU C Library: o32 Development Libraries for MIPS
 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-s390 - GNU C Library: 32bit Development Libraries for IBM zSeries
 libc6-dev-sparc - GNU C Library: 32bit Development Libraries for SPARC
 libc6-dev-sparc64 - GNU C Library: 64bit Development Libraries for UltraSPARC
 libc6-dev-x32 - GNU C Library: X32 ABI Development Libraries for AMD64
 libc6-i386 - GNU C Library: 32-bit shared libraries for AMD64
 libc6-i686 - GNU C Library: Shared libraries [i686 optimized]
 libc6-loongson2f - GNU C Library: Shared libraries (Loongson 2F optimized)
 libc6-mips32 - GNU C Library: o32 Shared libraries for MIPS
 libc6-mips64 - GNU C Library: 64bit Shared libraries for MIPS64
 libc6-mipsn32 - GNU C Library: n32 Shared libraries for MIPS64
 libc6-pic  - 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-s390 - GNU C Library: 32bit Shared libraries for IBM zSeries
 libc6-sparc - GNU C Library: 32bit Shared libraries for SPARC
 libc6-sparc64 - GNU C Library: 64bit Shared libraries for UltraSPARC
 libc6-udeb - GNU C Library: Shared libraries - udeb (udeb)
 libc6-x32  - GNU C Library: X32 ABI Shared libraries for AMD64
 libc6-xen  - GNU C Library: Shared libraries [Xen version]
 libc6.1    - GNU C Library: Shared libraries
 libc6.1-alphaev67 - GNU C Library: Shared libraries (EV67 optimized)
 libc6.1-dbg - GNU C Library: detached debugging symbols
 libc6.1-dev - GNU C Library: Development Libraries and Header Files
 libc6.1-pic - GNU C Library: PIC archive library
 libc6.1-udeb - 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    - GNU C Library: National Language (locale) data [support]
 locales-all - GNU C Library: Precompiled locale data
 multiarch-support - Transitional package to ensure multiarch compatibility
 nscd       - GNU C Library: Name Service Cache Daemon
Closes: 759197 788999 794222 796105
Changes:
 glibc (2.19-18+deb8u1) stable; urgency=medium
 .
   [ Aurelien Jarno ]
   * Update from upstream stable branch:
     - Fix pthread_mutex_trylock with lock elision.  Closes: #759197,
       #788999.
     - Fix gprof entry point on ppc64el.  Closes: #794222.
     - Fix a buffer overflow in getanswer_r (CVE-2015-1781).
       Closes: #796105.
Checksums-Sha1:
 b7188cdfc5bf35953b054469d0441e7c51c71619 8236 glibc_2.19-18+deb8u1.dsc
 5e6a409379644778ad1bd14f276663213a4352ca 1044476 glibc_2.19-18+deb8u1.debian.tar.xz
 886bca58a16c74214b6df212e886375a4d7039e8 2266080 glibc-doc_2.19-18+deb8u1_all.deb
 70a00739f3aa9d810926c99bb33540f4a5843d95 13998064 glibc-source_2.19-18+deb8u1_all.deb
 f5a4e24bee1bbd2a3b9288f8025c48f01e986cac 3908102 locales_2.19-18+deb8u1_all.deb
Checksums-Sha256:
 3d966ff27fb6aa1392d956f133ef21622da1e950e3f0a7e04bcad1037bd80705 8236 glibc_2.19-18+deb8u1.dsc
 fb3b2d338bdd663fee605485fe18f7a7d0c4923d68d889d4e161e5e469034479 1044476 glibc_2.19-18+deb8u1.debian.tar.xz
 e930776ad1036c8dae0bda0cb9c16cf0cb54eb3d49b4525de09cf317f0a374dc 2266080 glibc-doc_2.19-18+deb8u1_all.deb
 41c65a0c83451d239e58063c5c47685ea55715f52827bee12991220359b749ae 13998064 glibc-source_2.19-18+deb8u1_all.deb
 9bca0d296807d0422a0049b6991f43d0ec656c9a736026a32f841d1232019a12 3908102 locales_2.19-18+deb8u1_all.deb
Files:
 4f2cab598aef2a15959a9e974d104a96 8236 libs required glibc_2.19-18+deb8u1.dsc
 5eb44a1092df15bad4db43deebf46d44 1044476 libs required glibc_2.19-18+deb8u1.debian.tar.xz
 cc0819f61aa35a14698b6fadf82a1862 2266080 doc optional glibc-doc_2.19-18+deb8u1_all.deb
 a7ab5e3c5d69450b304da0ee2a47043a 13998064 devel optional glibc-source_2.19-18+deb8u1_all.deb
 9c0d8e2a20cdf48e06be9e14909d4472 3908102 localization standard locales_2.19-18+deb8u1_all.deb
Package-Type: udeb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJV4Z9XAAoJELqceAYd3YybV+kP/3FYkQwGj2bAQf8mAWNeKm/0
LTDQf/ofmqq/ZwusZAX/+49OmkB9AYZeYu2rJiUXBBR423MtTXQ2SZWxOOifHXsc
z50K8HGAHklzE4qnPkHTS+ZUyvpdvB/Z4XaqurzLnruN+5CUC5dCYN6jEblmRLSu
4+vTTgTOaB1wHptVV+vEJsD2gLFroMaN+cczLVA8OymjFL/MAnnl73DoxpFEHs4Z
wdQSLjeYSRrqFo+ugHqUMbTienFLd7AO35b5QMsXikkg38U2s+BQgzT8wsWwrZmf
sgAAVdJzRnSzSyYU982Oq5EPTD2Qkn0WVX2HI3otH8A9ShwNX1CTzDUnujeUT+m5
y3HfqMGsz3N77Cgsp6XjVN6tQCgg0q9BIk/3DKP0Ajnc3Mnwyp70pJdvFakJj1Ey
wGA3JRhqEJzxsmPY9C40CKtPvdwSHZ45PY1lH6ixHdquHkXWUztTmOCkKP7JRdJ5
W/laEip9Nm6CpK6G3xLAp2HnyINpjuUjI4n00ujgsT1LnImdgiNMsM/iq4pLyu+i
HXMUbQBW1DTcZgGCPDS5laRvdPylpWKdej7wBiRBy1YDFaHEFDw6FxsaBG/2TmUW
nQo/1eTFUS/wTE43E10SE1acVIXOVaUX9YnX3tAuebqoJwpNoaufbSuY5ubdKwvM
XMBv26ld7wHz9qXqSbub
=PlXa
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: