WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: NPTL/TLS "emulation" idea

On Tue, Oct 19, 2004 at 12:45:01PM -0700, Roland McGrath wrote:
> > A few weeks ago Roland, Jakub and myself brainstormed
> > about this problem.  One of the things that came up is
> > that the positive (glibc private data) and -ve (TLS)
> > data are not generally used at the same time.
>
> I am still brainstorming about this, but I will need to do some experiments
> to figure out how some other funny ways of using segments actually work.

If you allow modification of the user code by xen, then you can do
some tricks.  E.g. if an application doesn't ever use %fs segment,
you could rewrite the positive accesses from %gs segment prefix to
%fs segment prefix and have %gs be an expand-down segment while %fs
expand-up segment with the same base.

The problem with this is that things break badly if the application
wants to use %fs for its own purposes, or if it pokes at its own
code (writing can be avoided by temporarily write protecting any
pages where a rewrite has happened, but reading cannot).
There is always the PaX trick - halving the address space and having
non-overlapping %cs and %ds segments with some pages shared in between,
but perhaps that's too complicated.

        Jakub


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel

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