From: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
To: Blaisorblade <blaisorblade@yahoo.it>
Cc: user-mode-linux-devel@lists.sourceforge.net,
Jeff Dike <jdike@addtoit.com>,
"Charles P. Wright" <cwright@cs.sunysb.edu>
Subject: Re: [uml-devel] SYSEMU getting merged - but I'm in doubt
Date: Wed, 14 Sep 2005 13:48:16 +0200 [thread overview]
Message-ID: <43280E00.6030707@fujitsu-siemens.com> (raw)
In-Reply-To: <432732E5.5010303@fujitsu-siemens.com>
Bodo Stroesser wrote:
>
> If we talk about using a new ptrace code for the new API, old UML
> binaries running
> on a host supporting the new API will recognize that there is no SYSEMU
> they can
> use. So /proc/sysemu will not allow to switch on or off anything (IIRC,
> the file
> will not even be created). That means, that an old binary will run safe
> but slow
> in this case. One could argue, that this is a changed behaviour of the
> old binary.
>
> OTOH, if the new API would reuse the same ptrace code, check_sysemu of
> the old
> binaries will fail on i386 (and I hope on x86_64, too). That means,
> sysemu again
> will be disabled. AFAICS, it will not refuse to run at all. (Not tested,
> taken from
> the code only)
> On s390 the check even might succeed accidentally, but that's no
> problem, as s390
> isn't mainline yet, we can change check_sysemu() to avoid problems.
> There will
> never be an old binary for s390.
>
> Resume: it doesn't matter if a new ptrace code is used or the old one is
> reused.
> Usage of sysemu will be restricted to "new UML on new host" or "old UML
> on old host"
> as long as host doesn't support _both_ APIs (selectable by two separate
> ptrace codes
> or by a new flag to PTRACE_SETOPTIONS). AFAICS, there is no reason to
> change
> /proc/sysemu at all, right?
Some more points:
The new API must have PTRACE_SYSEMU _and_ PTRACE_SYSEMU_SINGLESTEP.
While with the old API SYSEMU_SINGLESTEP was inserted to improve security,
with the new one it will be necessary to allow singlestepping of processes
in UML-SKAS at all. Suppose a singlestepped userspace is stopped at a
syscall interception. Now UML needs to restart it with SYSEMU for syscall
emulation, but also wants to proceed with singlestepping. PTRACE_SYSEMU wouldn't
do the job, as it starts userspace in "normal" mode, no singlestepping.
Also, in tt new API's PTRACE_SYSEMU behaves as PTRACE_SYSCALL does, because tracer
uses PTRACE_CONT after syscall interception. So tt (do_syscall(), ...) needs to be
changed. PTRACE_SYSEMU_SINGLESTEP still should be used, as if it's name were
PTRACE_SYSCALL_SINGLESTEP.
Bodo
-------------------------------------------------------
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
next prev parent reply other threads:[~2005-09-14 11:48 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-04 15:02 [uml-devel] SYSEMU getting merged - but I'm in doubt Blaisorblade
2005-09-06 16:10 ` Jeff Dike
2005-09-13 16:51 ` Bodo Stroesser
2005-09-13 18:23 ` Blaisorblade
2005-09-13 20:13 ` Bodo Stroesser
2005-09-14 11:48 ` Bodo Stroesser [this message]
2005-09-14 18:01 ` Blaisorblade
2005-09-14 18:19 ` 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=43280E00.6030707@fujitsu-siemens.com \
--to=bstroesser@fujitsu-siemens.com \
--cc=blaisorblade@yahoo.it \
--cc=cwright@cs.sunysb.edu \
--cc=jdike@addtoit.com \
--cc=user-mode-linux-devel@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