Messages in this thread Patch in this message | | | Date | Sat, 1 May 2004 16:10:35 -0700 | From | Andrew Morton <> | Subject | Re: 2.6.6-rc3: modular DVB tda1004x broken |
| |
Linus Torvalds <torvalds@osdl.org> wrote: > > > > On Sat, 1 May 2004, Adrian Bunk wrote: > > > > It seems the DVB updates broke this. > > > > Please _undo_ the patch below. > > No, there's something wrong. Nobody should use a global "errno" variable, > and we should fix the real bug (it's probably some buggy system call > "interface" function that is being used). > > Can somebody who sees this problem please try to figure out where the > buggy user of "errno" is?
It's using open() and lseek(), via KERNEL_SYSCALLS.
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) _
- 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/
| |