linux-mips
[Top] [All Lists]

RE: [PATCH, RFC] MIPS: Implement the getcontext API

To: "Ralf Baechle" <ralf@linux-mips.org>, "Brian Foster" <brian.foster@innova-card.com>
Subject: RE: [PATCH, RFC] MIPS: Implement the getcontext API
From: "David VomLehn (dvomlehn)" <dvomlehn@cisco.com>
Date: Wed, 4 Mar 2009 17:25:35 -0500
Authentication-results: sj-dkim-4; header.From=dvomlehn@cisco.com; dkim=pass ( sig from cisco.com/sjdkim4002 verified; );
Cc: "David Daney" <ddaney@caviumnetworks.com>, "Maciej W. Rozycki" <macro@codesourcery.com>, <linux-mips@linux-mips.org>, <libc-ports@sourceware.org>, "Maciej W. Rozycki" <macro@linux-mips.org>
Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; l=1814; t=1236205537; x=1237069537; c=relaxed/simple; s=sjdkim4002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=dvomlehn@cisco.com; z=From:=20=22David=20VomLehn=20(dvomlehn)=22=20<dvomlehn@cis co.com> |Subject:=20RE=3A=20[PATCH,=20RFC]=20MIPS=3A=20Implement=20 the=20getcontext=20API |Sender:=20; bh=Jb5HcdrPhHVfpf0WY4tayloauviO7DYGwAEnQShfgmU=; b=twC9FsnRhuMmYebOc1LzoYNJDtfWMih2SqlyOATQ8e2LOYIaRGZeXUVvFX ulwe08MT9XRkhYmzbL22N/t3Qxm0mnR4ay+wD9bYnzWlweDXxZ6xEnKmf/iG AlXDJIZi+z;
In-reply-to: <20090304154418.GA13464@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <alpine.DEB.1.10.0902282326580.4064@tp.orcam.me.uk> <49AD6139.60209@caviumnetworks.com> <200903040919.29294.brian.foster@innova-card.com> <20090304154418.GA13464@linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
Thread-index: Acmc4ESDyhWudsJMRte5BEcO+1iu2QAN0gVQ
Thread-topic: [PATCH, RFC] MIPS: Implement the getcontext API
> -----Original Message-----
> From: linux-mips-bounce@linux-mips.org 
> [mailto:linux-mips-bounce@linux-mips.org] On Behalf Of Ralf Baechle
> Sent: Wednesday, March 04, 2009 7:44 AM
> To: Brian Foster
> Cc: David Daney; Maciej W. Rozycki; 
> linux-mips@linux-mips.org; libc-ports@sourceware.org; Maciej 
> W. Rozycki
> Subject: Re: [PATCH, RFC] MIPS: Implement the getcontext API
> 
> On Wed, Mar 04, 2009 at 09:19:28AM +0100, Brian Foster wrote:
> 
> > On Tuesday 03 March 2009 17:56:25 David Daney wrote:
> > >[ ... ]
> > > When (and if) we move the sigreturn trampoline to a vdso 
> we should be
> > > able to maintain the ABI.
> > 
> >  it's more a matter of "when" rather than "if".
> >  there is still an intention here to use XI (we
> >  have SmartMIPS), which requires not using the
> >  signal (or FP) trampoline on the stack.
> > 
> >  moving the signal trampoline to a vdso (which
> >  is(? was?) called, maybe misleadingly, 'vsyscall',
> >  on other architectures) is the obvious solution to
> >  that part of the puzzle.  and yes, it is possible
> >  to maintain the ABI; the signal trampoline is still
> >  also put on the stack, and modulo XI, would work if
> >  used - the trampoline-on-stack is simply not used
> >  if there is a vdso with the signal trampoline.
> 
> We generally want to get rid of stack trampolines.  
> Trampolines require
> cacheflushing which especially on SMP systems can be a rather 
> expensive
> operation.

If I understand this correctly, using a vdso would allow a stack without
execute permission on those processors that differentiate between read
and execute permission. This defeats attaches that use buffer overrun to
write code to be executed onto the stack, a nice thing for more secure
systems.

<Prev in Thread] Current Thread [Next in Thread>