From: David Daney <ddaney@caviumnetworks.com>
To: "David VomLehn (dvomlehn)" <dvomlehn@cisco.com>
Cc: Ralf Baechle <ralf@linux-mips.org>,
Brian Foster <brian.foster@innova-card.com>,
"Maciej W. Rozycki" <macro@codesourcery.com>,
linux-mips@linux-mips.org, libc-ports@sourceware.org,
"Maciej W. Rozycki" <macro@linux-mips.org>
Subject: Re: [PATCH, RFC] MIPS: Implement the getcontext API
Date: Wed, 04 Mar 2009 14:34:16 -0800 [thread overview]
Message-ID: <49AF01E8.80705@caviumnetworks.com> (raw)
In-Reply-To: <FF038EB85946AA46B18DFEE6E6F8A289BE0B68@xmb-rtp-218.amer.cisco.com>
David VomLehn (dvomlehn) wrote:
>> -----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.
>
With one caveat, software other than the Linux kernel depends on an
executable stack (GCC's nested functions for example). All users of the
executable stack would have to modified before you could universally
make the switch.
That said, we do have RI/XI working well in our kernel (for non-stack
memory), so it is something we are interested in pursuing.
David Daney
next prev parent reply other threads:[~2009-03-04 22:36 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-01 0:12 [PATCH, RFC] MIPS: Implement the getcontext API Maciej W. Rozycki
2009-03-03 16:56 ` David Daney
2009-03-04 8:19 ` Brian Foster
2009-03-04 12:17 ` Daniel Jacobowitz
2009-03-04 16:36 ` David Daney
2009-04-02 13:29 ` Ralf Baechle
2009-04-02 20:06 ` Daniel Jacobowitz
2009-03-04 15:44 ` Ralf Baechle
2009-03-04 22:25 ` David VomLehn (dvomlehn)
2009-03-04 22:25 ` David VomLehn (dvomlehn)
2009-03-04 22:34 ` David Daney [this message]
2009-03-05 7:58 ` MIPS RI/XI & trampolines [was:- [PATCH, RFC] MIPS: Implement the getcontext API ] Brian Foster
2009-03-05 17:01 ` David Daney
2009-04-02 13:38 ` [PATCH, RFC] MIPS: Implement the getcontext API Ralf Baechle
2009-04-16 3:46 ` Markus Gothe
2009-04-17 5:53 ` Ralf Baechle
2009-03-05 15:34 ` Maciej W. Rozycki
2009-03-05 16:58 ` David Daney
2009-03-05 18:23 ` David VomLehn (dvomlehn)
2009-03-05 18:23 ` David VomLehn (dvomlehn)
2009-03-05 21:36 ` Ralf Baechle
2009-03-05 21:39 ` Roland McGrath
2009-03-05 21:53 ` Joseph S. Myers
2009-03-05 22:08 ` David VomLehn (dvomlehn)
2009-03-05 22:08 ` David VomLehn (dvomlehn)
2009-04-02 13:19 ` Ralf Baechle
2009-04-15 20:19 ` Joseph S. Myers
2009-04-15 21:37 ` David Daney
2009-04-18 12:38 ` Ralf Baechle
2009-04-18 17:32 ` Joseph S. Myers
2009-04-20 19:57 ` Maciej W. Rozycki
2009-04-28 19:17 ` Aurelien Jarno
2009-04-28 19:21 ` Philippe Vachon
2009-04-28 20:19 ` Maciej W. Rozycki
2009-04-28 20:53 ` Aurelien Jarno
2009-04-28 21:47 ` Maciej W. Rozycki
-- strict thread matches above, loose matches on Subject: below --
2009-04-05 18:57 Graziano Sorbaioli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49AF01E8.80705@caviumnetworks.com \
--to=ddaney@caviumnetworks.com \
--cc=brian.foster@innova-card.com \
--cc=dvomlehn@cisco.com \
--cc=libc-ports@sourceware.org \
--cc=linux-mips@linux-mips.org \
--cc=macro@codesourcery.com \
--cc=macro@linux-mips.org \
--cc=ralf@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.