Subject: Linux emulation and not implemented syscalls
To: None <>
From: Matthias Scheler <>
List: tech-kern
Date: 08/16/1999 21:21:17

if you try this small example program under Linux-i386 2.2.x ...

#include <sys/syscall.h>

#include <errno.h>
#include <stdio.h>

#define __NR_foobar 202

static inline _syscall0(int,foobar)

int main(int argc,char **argv)

 int result;

 (void)printf("%d %d\n",result,errno);
 return 0;

... you'll notice that it is not killed and creates this output:

-1 38

"38" means "ENOSYS".

As you can see Linux does NOT kill process if they use an invalid syscall
number. My problem is that I have a program which does this, probably
with intention.

Should we modify sys_nosys() not to signal() a process if it is an
Linux emulation process?

	Kind regards

Matthias Scheler