Re: copy_from_user() fixu

Alexander Kjeldaas (astor@guardian.no)
Tue, 25 Aug 1998 15:35:09 +0200


On Tue, Aug 25, 1998 at 05:37:39PM +1000, Richard Gooch wrote:
>
> I can't sanitise the input: I don't know what pointer the application
> will pass. Trapping SEGV is a performance bugger: I have to install a
> signal handler before every pseudo-syscall and restore it afterwards
> (my library can't steal signals).
>

What if we created a faster way to handle signals. This is something
I'd like for other applications such as JIT-compilers. My idea for
doing this is to map a page from kernel-memory into each process.
This will be the exception-handler. Exceptions are caught directly in
user-space (possible on i386). This code will decide whether the
exception is "dangerous" (routed back to the kernel), or can be
handled by the user.

Similarly, installing a signal-handler could be done using a write to
a special page.

The reason I want this is to be able to implement fast read/write/exec
barriers for GC and continuous compilers.

astor

-- 
 Alexander Kjeldaas, Guardian Networks AS, Trondheim, Norway
 http://www.guardian.no/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html