On Tue, Nov 08, 2005 at 09:18:58PM -0600, Rob Landley wrote:
> 1) Is there any documentation on SKAS0's design?  (A couple things floated 
> by, 
> but it was piecemeal and I didn't have the necessary context.)

There was a big message when I first announced it.  Also, the changelog on
that patch was fairly comprehensive, so you can dig that out of git or 
an LKML archive or somewhere.

> 2) What's the memory layout of the various SKAS0 threads?  (Or where in the 
> code is it set up?  I can work this out for myself if necessary, it'll just 
> take a while...)

On x86:
        0 - 0x7fffe000 - normal process address space
        7fffe000 - the stub data page - contains the segfault handler and
system call stub
        7ffff000 - the stub data page - used as the segfault stack and for
passing page fault info back to UML

> 3) What can -tt mode still do that -skas0 can't?  (Something about running 
> under gdb, was it?)

SMP is about it.

On nice process names with skas0, that might not be too possible with stack
randomization.  Without that, it would be very similar to tt mode nice process
names -
        Find where the process name is on the stack for the main UML
thread - grep for argv1_begin and argv1_end to see how that's set up
        Make sure that address range won't be used in any of the process
address spaces
        Copy the process name there

Without stack randomization, the process name will be (for the main
UML thread) at an address that corresponds to the stub data page in
the processes.  You can just copy the process name there.  The one
thing you need to be careful about is that you make the segfault stack
end below that address range so the name doesn't get trashed.

With stack randomization, the process name could be almost anywhere in
the high end of the address space.  You'd have to map a page there,
copy the process name to the right spot in it, and make sure that the
process doesn't use any of its address space from there on up.  That
sounds pretty nasty to me.

The first case is fairly easy, if you want this to just work in the no
stack randomization case.

                                Jeff


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to