Re: Calling syscalls from x86-64 kernel results in a crash on Opteronmachines

From: Constantine Gavrilov
Date: Mon Sep 13 2004 - 10:53:46 EST


Christoph Hellwig wrote:

On Mon, Sep 13, 2004 at 05:04:17PM +0300, Constantine Gavrilov wrote:


Hello:

We have a piece of kernel code that calls some system calls in kernel context (



Which you shouldn't do in the first place.



Function kernel_thread() on i386 is implemented by putting the args to appropriate regs and calling int 0x80, resulting in a system call clone() on i386.

I have also found the "syscall" instruction in x86-64 kernel specific code (it does not call _syscall() macros directly, though). So, "shouldn't do" is a bit too strong.

What I am writing is an application, and not interface. As such, it is not much different from its requierements from a user-space application. If user-space application may call system calls, why a kernel space application cannot?

And BTW, kernel-space applications have their own place even if the concept seems foreign to you.

--
----------------------------------------
Constantine Gavrilov
Kernel Developer
Qlusters Software Ltd
1 Azrieli Center, Tel-Aviv
Phone: +972-3-6081977
Fax: +972-3-6081841
----------------------------------------


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