Re: mmap, SIGBUS, and handling it

Maciej W. Rozycki (macro@ds2.pg.gda.pl)
Fri, 10 May 2002 19:03:19 +0200 (MET DST)


On Fri, 10 May 2002, David S. Miller wrote:

> I would expect it to return from the handler with no action, possibly
> re-executing the faulting instruction (if the reason was synchronous) and
> causing an infinite loop. For consistency, whether it makes sense, or not
> (ditto for SIGSEGV, etc.).
>
> If we reexecute the instruction it will take the signal endlessly,
> forever. That makes no sense.

It depends on an application. It certainly shouldn't be the default, but
a user may choose such an option for some reason. E.g. for debugging a
system with an ICE or a similar tool.

> Next, if we skip the instruation, what should be in the destination
> register of the load? There is no reasonable answer. If you put
> zero there the program will likely segfault on a NULL pointer
> dereference.

This option is out of question, obviously.

> So my original point I was trying to make, which still stands, is that
> what is being requested is totally rediculious behavior, trying to
> ignore a page fault that can't be serviced.

Why should we enforce policy on a user? If one wants to ignore such
signals for whatever reason, let him do that.

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/