From: Blaisorblade <blaisorblade@yahoo.it>
To: Jeff Dike <jdike@addtoit.com>
Cc: user-mode-linux-user@lists.sourceforge.net,
Jason Lunz <lunz@falooley.org>,
user-mode-linux-devel@lists.sourceforge.net
Subject: [uml-devel] Re: (implementation idea) Re: uml and nonstandard memory splits?
Date: Mon, 27 Mar 2006 23:30:05 +0100 [thread overview]
Message-ID: <200603280030.05911.blaisorblade@yahoo.it> (raw)
In-Reply-To: <20060324172644.GB5400@ccure.user-mode-linux.org>
On Friday 24 March 2006 18:26, Jeff Dike wrote:
> On Fri, Mar 24, 2006 at 03:34:01PM +0100, Blaisorblade wrote:
> > The EIP is inside the stub code page, and the two pages are one near the
> > other.
> I think you're going to have to talk more slowly and use shorter words.
Yes, I've been a bit too fast :-)
> The problem is that we need to figure out at runtime where to put the
> stub pages, correct? And we can't use the code stub page to figure out
> where it is, because we haven't mapped it yet, because we don't know where
> to put it, correct?
That is problem #1, and exists; but when answering I thought to problem #2,
i.e. that the stub code currently hardcodes the location of the stub data
page, and that this must be fixed; I didn't notice that we must first put the
stubs somewhere.
So I remembered that trick to get EIP which I read time ago (the purpose was
to make some code Position-Independent exactly injecting some code into
another process address space).
Btw, PIC library are another story because they're told their location (IIRC,
I forget the details).
Actually, we need to figure were to place the pages, so we could _maybe_ as
well pass the address to the stub in a register. I'm quite unsure of this
however as at least clone.c for i386 uses _all_ available registers for the
6-param syscall call.
> How much can stack randomization vary? If it can vary more than the
> split varies, which I would expect, then rounding the stack pointer
> isn't going to work.
Dunno, but even if it currently works, we'd better find a solution without the
assumption that stack randomization doesn't create problem.
> Another approach is to start with the current top of stack
How do you get that?
> and try
> mapping pages at increments equal to the smallest split granularity
> that we think we are going to see, until one fails.
I don't like the idea of parsing /proc/XXX/maps, but I must mention it too;
however, the format changed slightly in the various kernels, so it's
particularly a bad idea.
bfff9000-c0000000 rwxp bfff9000 00:00 0 [stack]
--
Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!".
Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894)
http://www.user-mode-linux.org/~blaisorblade
___________________________________
Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB
http://mail.yahoo.it
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
next prev parent reply other threads:[~2006-03-27 22:30 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <dvv6ir$ajn$1@sea.gmane.org>
[not found] ` <20060323235044.GA7273@ccure.user-mode-linux.org>
[not found] ` <20060324004052.GA1897@knob.reflex>
2006-03-24 0:56 ` [uml-devel] (implementation idea) Re: uml and nonstandard memory splits? Blaisorblade
2006-03-24 2:30 ` [uml-devel] " Jeff Dike
2006-03-24 14:34 ` Blaisorblade
2006-03-24 16:40 ` Jason Lunz
2006-03-24 17:26 ` Jeff Dike
2006-03-27 22:30 ` Blaisorblade [this message]
2006-03-28 20:02 ` Jeff Dike
2006-03-28 22:05 ` [uml-devel] Re: [uml-user] " Blaisorblade
2006-03-28 22:09 ` Blaisorblade
2006-03-28 20:09 [uml-devel] " Jeff Dike
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=200603280030.05911.blaisorblade@yahoo.it \
--to=blaisorblade@yahoo.it \
--cc=jdike@addtoit.com \
--cc=lunz@falooley.org \
--cc=user-mode-linux-devel@lists.sourceforge.net \
--cc=user-mode-linux-user@lists.sourceforge.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox