From: Stas Sergeev <stssppnn@yahoo.com>
To: Kasper Dupont <kasperd@daimi.au.dk>
Cc: linux-kernel@vger.kernel.org, Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: Linux 2.4.19pre4-ac4
Date: Thu, 04 Apr 2002 23:08:59 +0400 [thread overview]
Message-ID: <3CACA4CB.9010301@yahoo.com> (raw)
Hello.
Kasper Dupont wrote:
>> Linux 2.4.19pre4-ac4
> > o Fix an additional vm86 case (Stas Sergeev)
> > | Check DOSemu again and this code wants some good review
> [...]
This patch have nothing to do with your
and Manfred's exception handling fixes.
You can find it here if you want to have
a look:
http://dosemu.sourceforge.net/~stas/traps.diff
It prevents Oops in some cases, esp. if the
invalid instruction is executed in vm86.
> I do consider the simplification to be safe.
> In that case the macro would get to look like this:
> #define CHECK_IF_IN_TRAP \
> if (VMPI.vm86dbg_active && VMPI.vm86dbg_TFpendig) \
> newflags |= TF_MASK;
I think you are right: already popped value must
not make sense in the stack and even if it does,
it seems to be even better if the TF is not set
there, so that we have the value exactly which was
pushed.
> This is assuming Stas' way to use the macro. However since it
> looks like Stas' use the old macro, I think his code is buggy.
The real bug was that set_vflags_long/short were used before
the registers are changed, but they could return to
userspace via set_IF() leaving the instuction executed
only partially (not executed at all). This rendered vm86()
disfunctional so that dosemu fails to even start in pre3-ac6.
I have moved them down to fix the problem.
The macro was forgotten to update:(
> And BTW does anybody happen to
> know some software actually using the feature implemented by
> CHECK_IF_IN_TRAP?
dosemu's dosdebug uses it for force trace over iret
and probably nobody else.
> I would appreachiate some comments on this subject.
I think that your simplification for this macro is
the best fix if someone really wants to use this
dosdebug's traceing feature.
Thank you.
next reply other threads:[~2002-04-04 19:36 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-04 19:08 Stas Sergeev [this message]
2002-04-04 19:56 ` Linux 2.4.19pre4-ac4 Kasper Dupont
-- strict thread matches above, loose matches on Subject: below --
2002-04-03 19:48 Alan Cox
2002-04-04 9:18 ` Kasper Dupont
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=3CACA4CB.9010301@yahoo.com \
--to=stssppnn@yahoo.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=kasperd@daimi.au.dk \
--cc=linux-kernel@vger.kernel.org \
--cc=stas.orel@mailcity.com \
/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