[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug in Mint



Ulrich Kuehn writes:

> Recently, I discovered a bug when MiNT is running with memory protection.
> I have a little program, that sets a new keyboard table using the bios
> function Keytbl (sp?).
> I hab to set the programs proctection mode to global, otherwise the
> system crashed at the first key stroke.

Maybe we should call that a feature ?

> I think, there should be something similar done in the kernel as for
> Setexc(), which set also the protection mode of the memory region the
> pointer points into to supervisor.

There's absolutely no way for the kernel to guess the length of the region
pointed to by Setexc(). If you really want to install an interrupt handler,
why would you want to use another protection mode than "global" anyway ?

A more serious concern would be: should MiNT reinstall the old exception
vectors if a program using Setexc() crashes inadvertantly? Or should the
programmer be responsible for unlinking them, using the old and well-known
trick of using the etv_term vector?  Same problem for keyboard tables,
user-provided iorec buffers, Dosound(), Setscreen(), and probably many,
many other Xbios functions...

Thierry.