From patchwork Thu Aug 20 06:46:01 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 8310 Received: (qmail 35571 invoked by alias); 20 Aug 2015 06:46:06 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 35558 invoked by uid 89); 20 Aug 2015 06:46:05 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL, BAYES_00, KAM_LAZY_DOMAIN_SECURITY, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=no version=3.3.2 X-HELO: mx1.redhat.com To: GNU C Library From: Florian Weimer Subject: [PATCH COMMITTED] nptl: Document crash due to incorrect use of locks Message-ID: <55D577A9.8040306@redhat.com> Date: Thu, 20 Aug 2015 08:46:01 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 From cd4e69ed3e4b2d51ebd3dfaa0730793cf913de77 Mon Sep 17 00:00:00 2001 Message-Id: From: Florian Weimer Date: Thu, 20 Aug 2015 08:44:09 +0200 Subject: [PATCH] nptl: Document crash due to incorrect use of locks To: libc-alpha@sourceware.org --- ChangeLog | 5 +++++ sysdeps/x86/elide.h | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b3c9892..c0f7f5d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-08-20 Florian Weimer + + * sysdeps/x86/elide.h (ELIDE_UNLOCK): Document crash due to + incorrect use. + 2015-08-19 Joseph Myers [BZ #18370] diff --git a/sysdeps/x86/elide.h b/sysdeps/x86/elide.h index 47e89cf..6e53288 100644 --- a/sysdeps/x86/elide.h +++ b/sysdeps/x86/elide.h @@ -93,7 +93,9 @@ elision_adapt(signed char *adapt_count, unsigned int status) ret; \ }) -/* Returns true if lock defined by IS_LOCK_FREE was elided. */ +/* Returns true if lock defined by IS_LOCK_FREE was elided. The call + to _xend crashes if the application incorrectly tries to unlock a + lock which has not been locked. */ #define ELIDE_UNLOCK(is_lock_free) \ ({ \ -- 2.4.3