From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 104122 invoked by alias); 29 Mar 2018 20:01:31 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 104083 invoked by uid 89); 29 Mar 2018 20:01:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-oi0-f67.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=A+y+QERMrGD543nwXiOm7uybZm7Ja6QYdjiDN0Ybdps=; b=K67vLmGTEOA6btAL58Hlgb5726tha8uN0xvo1z3pJar70ds23P1BK1PSurMoLCmoP2 ZCtX9j8i27vJPoXOQvCDfR8O1qXZ8ufFKUdY4YsZ19Esk0MAB2t+WWBShRXBkYueLMi/ frZHLsk0jpWWdo8EAK9mPQicRvicWRTpRjjGAelI1hxqPfYTCtbWS27mjYEbMF/hmyiu L6EGj3c7yPcugZ7rGO+bcCJ8T6uZlqKNfX23z95ffNXM/4SEPshh/olcCgk1tS6yPeaT 8eNVNm3y7hotnuAnVPk+SV0JlcKpnBGw28oEBa5TgMifnckLAKIwJVdGASrFdq02pgLp EvIA== X-Gm-Message-State: AElRT7GE5j+hkVBNz1m8eWSNZZ6p4Ewr+K58RV5G2uDARBes3wc0SZOB YMfHrOjrKonaCYIo5nTywzgbl2fm0tLd5wRjAbw= X-Google-Smtp-Source: AIpwx4/En9wFzzZu3McBhheoY17UcTZtS/oX1/JHbNy1FCRiCmcphTSa7+yeLW3pjwKszJPpTB0E9E5OMvEiPC4lae0= X-Received: by 10.202.234.70 with SMTP id i67mr5001745oih.316.1522353687644; Thu, 29 Mar 2018 13:01:27 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <87bmf6vfbp.fsf@mid.deneb.enyo.de> References: <87efkkxwah.fsf@mid.deneb.enyo.de> <871sg2wzsv.fsf@mid.deneb.enyo.de> <87bmf6vfbp.fsf@mid.deneb.enyo.de> From: "H.J. Lu" Date: Thu, 29 Mar 2018 20:01:00 -0000 Message-ID: Subject: Re: [PATCH] x86: Add __sigsetjmp_cancel and __setjmp_cancel To: Florian Weimer Cc: Joseph Myers , "Carlos O'Donell" , "Tsimbalist, Igor V" , GNU C Library Content-Type: text/plain; charset="UTF-8" X-SW-Source: 2018-03/txt/msg00601.txt.bz2 On Thu, Mar 29, 2018 at 12:42 PM, Florian Weimer wrote: > * H. J. Lu: > >> On Thu, Mar 29, 2018 at 10:34 AM, Florian Weimer wrote: >>> * H. J. Lu: >>> >>>> Here is the updated patch. OK for master? >>> >>> If you want to backport this into Fedora 28, you will have to avoid >>> new symbol versions. >> >> Should we revisit my patch to extend struct pthread_unwind_buf: >> >> https://sourceware.org/ml/libc-alpha/2018-02/msg00291.html >> >> This patch doesn't introduce the new symbol version. > > That patch will require recompiling a subset of static libraries in > Fedora 28 to avoid crashes once CET is enabled. Which should be > doable at a technical level, but takes resources away from other work, > obviously. BOTH approaches NEED to recompile a subset of static libraries in Fedora 28, as stated in https://sourceware.org/ml/libc-alpha/2018-03/msg00521.html NB: Shared libraries built with glibc 2.27 or older are compatible with glibc 2.28. Relocatable objects compiled against glibc 2.27 or older are incompatible with glibc 2.28 since they reference the older version of __sigsetjmp. > My preference still is a solution where we shift the stored signal > mask to make room for the shadow stack data in CET mode (for maximum > compatibility). But I expect that Carlos will review your patch. As I have pointed out before Note: There is an unused pointer space in pthread_unwind_buf_data. But it isn't suitable for saving and restoring shadow stack register since x32 is a 64-bit process with 32-bit software pointer and kernel may place x32 shadow stack above 4GB. We need to save and restore 64-bit shadow stack register for x32. -- H.J.