From: BlaisorBlade <blaisorblade_spam@yahoo.it>
To: user-mode-linux-devel@lists.sourceforge.net
Cc: Bodo Stroesser <bstroesser@fujitsu-siemens.com>,
Jeff Dike <jdike@addtoit.com>
Subject: Re: [uml-devel] Bad handling of invalif systemcalls
Date: Thu, 21 Oct 2004 19:32:11 +0200 [thread overview]
Message-ID: <200410211932.11392.blaisorblade_spam@yahoo.it> (raw)
In-Reply-To: <4177D503.2030409@fujitsu-siemens.com>
On Thursday 21 October 2004 17:25, Bodo Stroesser wrote:
> If a process in UML does a systemcall with the systemcall number
> being less than 0, in TT-mode and SKAS-mode using SYSEMU, the
> process is killed by an SIGTRAP instead of simply returning -ENOSYS.
> In SKAS-mode without SYSEMU, UML even crashes, no matter if SYSEMU
> is unsupported by the host or switched off in UML:
> Kernel panic - not syncing: handle_trap - failed to wait at end of
> syscall, errno = 4, status = 2943
> The reason is, that UML can't distinguish between a debugger trap
> and an systemcall interception. Currently, it checks the systemcall
> number. If it is less than 0, it assumes the event to be a debugger
> trap. It would be better to assume a debugger trap only, if the
> syscall number is -1 (which it is guaranteed to be in case of a
> debugger event), but even then UML wouldn't be safe. Syscalls with
> syscall number -1 still would be a problem!
> AFAICS, the only solution for this is using the PTRACE_O_TRACESYSGOOD
> option. This option seems to be specific for linux, but the problem
> maybe is specific for linux, too.
I have been thinking to using SYSGOOD, but without finding a good reason for
that... so thanks for this.
The first remark (the only I have for now) is that you should replace "SIGTRAP
+ 0x80" with "SIGTRAP | 0x80". It should not make a difference in this
particular case, but it's a style issue, which exists because the second way
is more robust for setting bits: think about (SIGTRAP & 0x80) == 0x80 and
using the + 0x80: it clears the bit it should set and set another one.
Remark no. 2: could you, please, in next patches, try to add -p to diff flags
to improve readability? That makes clear which function is being changed, so
the patch becomes more readable.
> So, here attached are three patches. The first adds a check for
> availability and function of
> ptrace(PTRACE_SETOPTIONS,,,PTRACE_O_TRACESYSGOOD) to the normal
> ptrace checks.
>
> The second implements the usage of the option in SKAS-mode.
> The third does the same for TT-mode.
> For the third patch I'm quite anxious, that there could go something
> wrong when using the debugger. I don't understand much about this.
> Maybe someone else could look into this?
I'll give a look when I have the needed time. However, could you explain what
makes you worry in detail?
> Regards
> Bodo
--
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729
-------------------------------------------------------
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
_______________________________________________
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:[~2004-10-21 17:57 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-21 15:25 [uml-devel] Bad handling of invalif systemcalls Bodo Stroesser
2004-10-21 17:32 ` BlaisorBlade [this message]
2004-10-22 7:33 ` Bodo Stroesser
2004-10-21 22:09 ` [uml-devel] " Jeff Dike
2004-10-21 22:32 ` BlaisorBlade
2004-10-22 4:14 ` Jeff Dike
2004-10-22 8:14 ` Bodo Stroesser
2004-10-22 8:12 ` Bodo Stroesser
2004-10-22 21:02 ` Jeff Dike
2004-10-25 14:49 ` Bodo Stroesser
2004-10-25 15:21 ` Bodo Stroesser
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=200410211932.11392.blaisorblade_spam@yahoo.it \
--to=blaisorblade_spam@yahoo.it \
--cc=bstroesser@fujitsu-siemens.com \
--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