lkml.org 
[lkml]   [2004]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Calling syscalls from x86-64 kernel results in a crash on Opteron machines
Constantine Gavrilov wrote:

> 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.

It's gone in 2.6, in favor of calling do_fork() directly.

> 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.

What are you trying to do that can't be done in user space? The only
possible reason for a kernel space app is for performance (like knfsd),
at the cost of risking system stability and security.

--
Brian Gerst

-
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/

\
 
 \ /
  Last update: 2005-03-22 14:06    [W:0.068 / U:0.380 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site