Re: 2.6.6-rc3: modular DVB tda1004x broken

Andi Kleen
2004-05-01T23:27:16Z

Andrew Morton <akpm@osdl.org> writes:
>
> Maybe we should change __syscall_return() to return the -ve errno rather
> than -1?
>
>
> diff -puN include/asm-i386/unistd.h~a include/asm-i386/unistd.h
> --- 25/include/asm-i386/unistd.h~a 2004-05-01 16:09:35.115389384 -0700
> +++ 25-akpm/include/asm-i386/unistd.h 2004-05-01 16:09:49.513200584 -0700
> @@ -295,10 +295,6 @@
>
> #define __syscall_return(type, res) \
> do { \
> - if ((unsigned long)(res) >= (unsigned long)(-125)) { \
> - errno = -(res); \
> - res = -1; \
> - } \
> return (type) (res); \
> } while (0)

Don't do that please. That will break all the user space
programs who use asm/unistd.h to define own system calls
(it is quite common).

Make it conditional on __KERNEL__

-Andi