b/arch/powerpc/include/asm/unistd.h
@@ -92,7 +92,7 @@
#define __NR_settimeofday 79
#define __NR_getgroups 80
#define __NR_setgroups 81
-#define __NR_select 82
+/* Number 82 was the old (pre-1.3.x) select */
#define __NR_symlink 83
#define __NR_oldlstat 84
#define __NR_readlink 85
b/arch/powerpc/include/asm/systbl.h
@@ -85,7 +85,7 @@ COMPAT_SYS_SPU(gettimeofday)
COMPAT_SYS_SPU(settimeofday)
COMPAT_SYS_SPU(getgroups)
COMPAT_SYS_SPU(setgroups)
-SYSX(sys_ni_syscall,sys_ni_syscall,ppc_select)
+SYSCALL(ni_syscall)
SYSCALL_SPU(symlink)
OLDSYS(lstat)
COMPAT_SYS_SPU(readlink)
@@ -145,7 +145,7 @@ SYSCALL_SPU(setfsuid)
SYSCALL_SPU(setfsgid)
SYSCALL_SPU(llseek)
COMPAT_SYS_SPU(getdents)
-SYSX_SPU(sys_select,ppc32_select,ppc_select)
+SYSX_SPU(sys_select,ppc32_select,sys_select)
SYSCALL_SPU(flock)
SYSCALL_SPU(msync)
COMPAT_SYS_SPU(readv)
b/arch/powerpc/kernel/syscalls.c index c04832c..c2e6a74 100644
@@ -183,31 +183,6 @@ unsigned long sys_mmap(unsigned long addr, size_t
len,
return do_mmap2(addr, len, prot, flags, fd, offset, PAGE_SHIFT);
}
-#ifdef CONFIG_PPC32
-/*
- * Due to some executables calling the wrong select we sometimes
- * get wrong args. This determines how the args are being passed
- * (a single ptr to them all args passed) then calls
- * sys_select() with the appropriate args. -- Cort
- */
-int
-ppc_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set
__user *exp, struct timeval __user *tvp) -{
- if ( (unsigned long)n >= 4096 )
- {
- unsigned long __user *buffer = (unsigned long __user
*)n;
- if (!access_ok(VERIFY_READ, buffer, 5*sizeof(unsigned
long))
- || __get_user(n, buffer)
- || __get_user(inp, ((fd_set __user * __user
*)(buffer+1)))
- || __get_user(outp, ((fd_set __user * __user
*)(buffer+2)))
- || __get_user(exp, ((fd_set __user * __user
*)(buffer+3)))
- || __get_user(tvp, ((struct timeval __user * __user
*)(buffer+4))))
- return -EFAULT;
- }