Re: 2.6.6-rc3: modular DVB tda1004x broken

From: Andi Kleen
Date: Sat May 01 2004 - 18:28:45 EST


Andrew Morton <akpm@xxxxxxxx> 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


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