From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24313 invoked by alias); 19 Jul 2013 21:41:23 -0000 Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org Received: (qmail 24304 invoked by uid 89); 19 Jul 2013 21:41:23 -0000 X-Spam-SWARE-Status: No, score=-1.3 required=5.0 tests=AWL,BAYES_50,KHOP_THREADED,RDNS_NONE autolearn=no version=3.3.1 Received: from Unknown (HELO topped-with-meat.com) (204.197.218.159) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Fri, 19 Jul 2013 21:41:21 +0000 Received: by topped-with-meat.com (Postfix, from userid 5281) id EDAD02C0A1; Fri, 19 Jul 2013 14:41:13 -0700 (PDT) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit From: Roland McGrath To: Will Newton Cc: libc-ports@sourceware.org Subject: Re: ARM per-thread stack protector In-Reply-To: Will Newton's message of Friday, 19 July 2013 17:34:19 +0100 References: Message-Id: <20130719214113.EDAD02C0A1@topped-with-meat.com> Date: Fri, 19 Jul 2013 21:41:00 -0000 X-CMAE-Score: 0 X-CMAE-Analysis: v=2.1 cv=Ncp1iQz4 c=1 sm=1 tr=0 a=WkljmVdYkabdwxfqvArNOQ==:117 a=14OXPxybAAAA:8 a=htTTGrxpj_UA:10 a=Z6MIti7PxpgA:10 a=kj9zAlcOel0A:10 a=hOe2yjtxAAAA:8 a=oDizDPLPEkcA:10 a=jb5jNgHzXd_pWH63Y10A:9 a=CjuIK1q_8ugA:10 a=6X32eXACN0wA:10 a=3dKEMcwt2BMA:10 X-SW-Source: 2013-07/txt/msg00028.txt.bz2 No machine has a per-thread canary value. Using one would break user-implemented stack-switching schemes. Some machines store the global canary value in every thread's TCB for the sole reason that it's cheaper to access a field in the TCB than to access a global variable. I don't think that's the case on ARM.