From: Blaisorblade <blaisorblade@yahoo.it>
To: user-mode-linux-devel@lists.sourceforge.net
Cc: Jeff Dike <jdike@addtoit.com>
Subject: Re: [uml-devel] SIGSEGV and SA_NODEFER
Date: Fri, 21 Jan 2005 14:09:25 +0100 [thread overview]
Message-ID: <200501211409.26232.blaisorblade@yahoo.it> (raw)
In-Reply-To: <200501200107.43159.blaisorblade@yahoo.it>
On Thursday 20 January 2005 01:07, you wrote:
> On Tuesday 18 January 2005 22:28, Jeff Dike wrote:
> > It turns out that caker's crashes were being caused by the lack of
> > SA_NODEFER in the SIGSEGV handler registration.
>
> As Jeff explained me on IRC, the previous patch sent about the same
> subject, actually, was correct, but not related to the caker's problem.
>
> Since Jeff explained everything on IRC (#uml) I'm just explaining it here
> for the archives.
>
> > I know I fixed this, and I have no idea where the fix went. Do you have
> > any clue what happened to it?
>
> The SA_NODEFER flag was dropped from that call in 2.6.7-2um in the "random"
> patch, in 2.4.24-2um, and finally in
> uml-let-page-faults-always-be-delivered-immediately.patch in 2.6.9-rc2-mm1.
>
> That was compensated by adding the addition of this hunk for TT mode in
> sig_handler_common_tt() :
Are we sure it is a compensation? I started having the doubt that enabling the
signal inside the handler is not the same thing... because otherwise we don't
understand why the patch in 2.4 makes difference in TT mode.
Indeed, the blocking is done in the same way, but probably the timing is
different - i.e. we unblock the signal only after unprotect_kernel_mem() in
the new code, which somehow *makes* a difference.
I'm going to choose the SA_NODEFER instead of adding the explicit check, at
least for 2.4. I'd do it for 2.6 too, only that I'm not too sure.
Jeff, what is your suggestion?
> /* This is done because to allow SIGSEGV to be delivered inside a
> SEGV * handler. This can happen in copy_user, and if SEGV is disabled, *
> the process will die.
> */
> if(sig == SIGSEGV)
> change_sig(SIGSEGV, 1);
>
> The relation is obviously hidden somehow... however I sent on the uml-devel
> list a couple of patches from after 2.4.24-1um: without them UML does not
> suffer from the Debian/hwclock crash, while it happens with them. What's
> strange is that the crash happens within TT mode, not within SKAS mode. And
> rather than a crash, it's a hang, due to an infinite number of received
> SIGSEGVs. Inside the couple of patches, there is exactly this problematic
> change.
--
Paolo Giarrusso, aka Blaisorblade
Linux registered user n. 292729
http://www.user-mode-linux.org/~blaisorblade
-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
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-01-21 12:57 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-18 21:28 [uml-devel] SIGSEGV and SA_NODEFER Jeff Dike
2005-01-20 0:07 ` Blaisorblade
2005-01-20 3:52 ` Rob Landley
2005-01-21 12:35 ` Blaisorblade
2005-01-21 18:18 ` Rob Landley
2005-01-21 19:58 ` Blaisorblade
2005-01-22 16:34 ` Rob Landley
2005-01-24 19:45 ` Blaisorblade
2005-01-25 1:38 ` Rob Landley
[not found] ` <20050125084506.GA562@bytesex>
2005-01-25 10:16 ` Blaisorblade
2005-01-25 10:16 ` Rob Landley
2005-01-25 11:40 ` Blaisorblade
2005-01-25 17:30 ` Rob Landley
2005-01-25 19:34 ` Blaisorblade
2005-01-25 19:30 ` Rob Landley
2005-01-25 20:50 ` Blaisorblade
2005-01-25 22:43 ` Rob Landley
2005-01-21 13:09 ` Blaisorblade [this message]
2005-01-21 16:56 ` 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=200501211409.26232.blaisorblade@yahoo.it \
--to=blaisorblade@yahoo.it \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.