Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 22 Jun 2017 01:39:46 -0400
From: Daniel Micay <danielmicay@...il.com>
To: Jeff Law <law@...hat.com>, oss-security@...ts.openwall.com
Subject: Re: Re: Qualys Security Advisor -- The Stack Clash

On Wed, 2017-06-21 at 11:33 -0600, Jeff Law wrote:
> On 06/20/2017 12:44 AM, Daniel Micay wrote:
> 
> > I think it's also worth mentioning the segmented stack support in
> > GCC
> > and LLVM that was added for Go. It's possible to use it for C with
> > the
> > __morestack call set up to simply abort when stack space is
> > exhausted.
> > 
> > That's what Rust was doing after it dropped segmented stacks, but
> > they
> > wanted to move to stack probes for efficiency and prematurely
> > dropped
> > these function prelude checks.
> > 
> > It's not efficient, but it works, unlike -fstack-check.
> > 
> > I don't think it makes sense for general purpose distributions to
> > adopt
> > it but it's an available option for others with more concern about
> > this
> > issue.
> 
> Yup.  go's split-stacks are another option.  As you mention, probably
> not performant enough for a general purpose distribution, but could be
> interesting for more specialized needs.
> 
> jeff

It can be used with large fixed size stacks and no actual expansion, but
yeah it's expensive to add a check to every non-leaf prelude. It's not
as expensive as the SSP check for a function but it needs to cover many.

Since probes can be so much more efficient, it only makes sense to
consider it if getting probes fully working is going to take a long
time.

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.